UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)
来源:互联网 发布:知乎搜索不能用了 编辑:程序博客网 时间:2024/06/09 17:03
在程序中调用封装的python的exe时,重定向exe的输出时,出现错误:UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)
在命令行方式下运行这个exe,正确输出。
在命令行方式下运行exe,并>d:\temp.txt下,出现UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)。
百思不得其解,应该是pyhon的默认编码,与系统编码冲突。
在网上搜了一个解决方案,修改python安装目录下的lib中的site.py 文件。
def setencoding(): """Set the string encoding used by the Unicode implementation. The default is 'ascii', but if you're willing to experiment, you can change this.""" encoding = "ascii" # Default value set by _PyUnicode_Init() if 0: # Enable to support locale aware default string encodings. import locale loc = locale.getdefaultlocale() if loc[1]: encoding = loc[1] if 0: # Enable to switch off string to Unicode coercion and implicit # Unicode to string conversion. encoding = "undefined" if encoding != "ascii": # On Non-Unicode builds this will raise an AttributeError... sys.setdefaultencoding(encoding) # Needs Python Unicode build !
把 此处的第一个if 0:改为if 1: 。
- UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)
- UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)
- UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)
- UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)
- UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-15: ordinal not in range(128
- UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-4: ordinal not in range(128)
- UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-78: ordinal not in range(128
- UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-4: ordinal not in range(128)
- UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-4: ordinal not in range(128
- UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position 0-15: ordinal not in range(128
- UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-78: ordinal not in range(128
- UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-7: ordinal not in range(128)
- UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-4: ordinal not in range(128)
- UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-4: ordinal not in range(128)
- UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-4: ordinal not in range(128)
- UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-2: ordinal not in range(128)
- UnicodeEncodeError: 'ascii' codec can't encode characters in position 3-4: ordinal not in range(128)
- UnicodeEncodeError:ascii codec can't encode characters in position 9-16:ordinal not in range(128)
- 运行so文件时,出现error while loading shared libraries: libjvm.so: cannot open shared object file...
- 条码应用与企业ERP无缝集成
- paip.mysql error2003 Can''t connect to MySQL server on localhost (10061)的解决
- How to Refine the Log Retention Settings in XenServer
- spring中连接池的配置
- UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)
- concurrentHashMap 到底采取了什么措施使得它比synchronized(HashMap)好
- 私有构造函数以及C++单例模型
- 在DWZ中整合第三方插件的简单方法
- 数据结构资料
- ios 中响应震动的几种方法
- escape()、encodeURI()、encodeURIComponent()区别详解
- EAS导出一个单据的所有的附件
- WebSphere Application Server中的JSF引擎参数(JSF Engine Parameter)