Jython设置默认编码

Jython项目对非ascii编码的支持不是很好,尤其是在windows环境。

但是需要用Jython做一些和Java配合的工作,又必须要能够在Windows环境工作。经过一番研究终于发现两个可行的方法。

在Win7命令行直接运行Jython 2.7a2是不行的,因为Jython默认是ascii编码,而Win7默认是GBK编码,更加悲剧的是JVM又不支持在Console使用GBK.

一个简单的解决方法:

jython -C "utf-8"
看看默认编码:
>>> import sys
>>> sys.defaultencoding
'ascii'
注意虽然系统默认编码还是ascii,但是已经可以正常的使用Shell了。因为JVM的默认编码已经改过了来了。

然后再执行下面这段代码:

from org.python.core import codecs
codecs.setDefaultEncoding('utf-8')

或者:

import sys
reload(sys)
sys.setdefaultencoding('utf-8')

再检查下Jython的默认编码:
>>> sys.defaultencoding
'utf-8'
搞定。


你可能感兴趣的:(java,python,jython,Codec,defaultencoding)