您好,欢迎访问代理记账网站
移动应用 微信公众号 联系我们

咨询热线 -

电话 15988168888

联系客服
  • 价格透明
  • 信息保密
  • 进度掌控
  • 售后无忧

UnicodeEncodeError ,‘ascii‘ codec can‘t encode characters in position 27-28

Django项目出现了这个报错,UnicodeEncodeError 。
出现这种错误从两个方面进行排查:
1.先检查Django项目虚拟环境中的python是否支持中文。
为了验证,我进入项目的虚拟环境,运行测试代码,发现此时你执行str="中文"都会报错,如下:
在这里插入图片描述
解决方案是:
更改Linux系统的语言编码:
在这里插入图片描述
以上只是使用xshell连接虚拟机进行测试的截图。执行:
export LC_ALL=“en_US.utf8”
然后执行locale命令,查看语言编码格式,会发现LC_ALL已经改变。此时你在虚拟环境中执行str=“您好"是可以的。但是,注意,这种执行只是在当前xshell连接的tty中起作用,并没有永久更改系统的LC_ALL变量值。你需要如下操作:
vim /etc/profile,在里面添加:
export LC_ALL=“en_US.utf8”,不要添加export LANG=“en_US.utf8”,
然后执行:
source /etc/profile
此时,你打开任何一个xshell连接,执行locale命令,都会显示如下:
在这里插入图片描述
注意,里面的LANG变量是空的。如果你把它也设置成"en_US.utf8”,仍然汇报错’ascii’ codec can’t encode……。

2.更改根目录下settings.py
但是后来又出现了同样的问题。我尝试把LC_ALL改为zh_CN.utf8。能够下载了,但是别的功能又出现同样的ascii codec 错误,输入汉字提交的时候报错。
查询资料,解决如下:
根目录下settings.py,LANGUAGE_CODE改为= ‘zh-hans’


分享:

低价透明

统一报价,无隐形消费

金牌服务

一对一专属顾问7*24小时金牌服务

信息保密

个人信息安全有保障

售后无忧

服务出问题客服经理全程跟进