jython中文编码问题
最近想再java中调用python,遇到中文编码问题,具体如下:
java传递map<string, string> 给jython,jython中访问,代码如下:
if ‘你好’ in map:
return map['你好‘] + '我也好'
发现java中string是unicode编码,jython是utf8。导致在jython中访问 map['你好']时找不到
我就在java中转换了map存储格式,将map的key和value都转成utf8再传给jython比如<'你好’,‘你去哪’>
转换后jython中可以访问map['你好],但新的问题出来了
java中接受到返回值后发现 “我也好“这部分是正常的,但map['你好‘]对应的value是乱码
进一步发现如果return内容没有拼接map中的内容,则java获取的是乱码,如果拼接了则不是乱码
感觉是在拼接时会有编码转换,但对拼接map的部分没有转换导致最终出现两种编码
请教这种情况应该怎么解决?
注:不想在jython中每个中文字符前加u表示unicode编码