Jython中文编码处理

把项目编码修改为UTF8,直接输出的文件在 console里虽然是乱码,但是文件是正确的。这个是什么原因造成的?

连接各个ftp还要处理编码问题,各个ftp所使用的编码可能不同,有的使用gbk,而另外的则可能使用UTF8。 编码问题的处理也是要遇到的一个重要问题

搞了半天,原来Jython 2.5.0 不支持东亚语言啊。。。。 现在只能用Jython了,因为涉及的字符处理是有中文字符的。

现在不能直接用Jython来进行数据处理了。

从代码看,jython的gbk.py是从cpython拿来的,但它用到了一个c模块_codec_cn,在jython中没有相应的实现,所以jython中加载gbk.py会出错,导致lookup error.


变通的方法,是使用 Python,然后通过 Java的Runtime进行调用吧

变通做法,不使用Jython,直接通过Java 调用Python程序

Jython中文编码处理_第1张图片

看来Jython还是有很多问题。虽然是一些小问题,但是在这些小问题上要耗费大量的时间。

可以先在Python上编码调试,没问题后,直接用Java调用。不涉及对象的传递,仅仅是两个连起来的过程。 这是一种做法,这样Java代码和Python代码也是分开写的, Python代码可以脱离JVM环境运行

Jython中文编码处理_第2张图片

通过这种方式截取console输出,有点特别,呵呵

把一个对象赋给 sys.stdout ,这样标准输出都被那个对象截取了

Jython中文编码处理_第3张图片

没想到,还专门有个StringIO类。。。
通过getValue就可以把 标准输出读出来了。。。

Jython中文编码处理_第4张图片

可以直接返回buflist啊。。。直接返回buf是不行的,需要先getValue,该过程会把List里的值处理后给buf

Jython中文编码处理_第5张图片

你可能感兴趣的:(Jython中文编码处理)