我编写了一个程序,用几种自然语言向Yahoo API发送请求。雅虎的编码必须是utf8。 Delphi或Perl没问题。在我的Java版本中,我将搜索查询sQuery1转换为: 尝试{ utf8Bytes = sQuery1.getBytes(“utf-8”); sQuery8 = new String(utf8Bytes,“utf-8”); 捕捉(等) 从命令行编译时工作正常。但是当我使用Netbeans键入完全相同的代码并运行jar时,Yahoo服务器每次使用特殊字符(如法语口音)时都会发送错误消息(尽管可以正常使用英语)。显然,使用Netbeans编译的jar不会考虑utf8转换。从Netbeans本身运行时,程序运行正常。有什么解释吗?
答案 0 :(得分:2)
我有一个批处理文件来调用我的jar。一旦我像下面一样改变它,一切都像魅力一样:
java -Dfile.encoding = utf-8 -jar MultiLangugePain.jar
答案 1 :(得分:0)
是的,我检查了Netbeans中的Clean and Build Main Project,然后运行了dist文件夹中创建的jar文件。
答案 2 :(得分:0)
Java String是UTF-16