我试着记录一些俄文:
LOG.info("тестирование русского");但我得到的是问题符号(从网上查看):
应用程序-id/app-版本。:15:18:44,753信息类?
用UTF-8编码保存的Java文件.所有设置都是默认设置。
甚至我也用俄文读了UTF-8的文件,并尝试用它记录一些东西--编码也是错误的。
发布于 2011-07-04 15:46:09
我对希伯来文也有类似的问题。我发现它是由默认编码引起的。
为了检查默认编码,我使用了以下代码:
OutputStreamWriter out = new OutputStreamWriter(new ByteArrayOutputStream());
String encoding = out.getEncoding(); 在我的电脑上,编码是"UTF8“。在GAE服务器上,它是"ASCII“。
通过将代码中的所有文件读取器替换为:
new InputStreamReader(new FileInputStream(file), "UTF8"));这告诉Java忽略默认编码,并以UTF8的形式打开所有输入文件。
发布于 2015-09-04 17:34:45
尝尝这个。显然,GAE试图自动检测编码,但失败了。即使是固定的字符串也被弄乱了。
public class Util {
public static String FixRussianString(String string){
try {
return new String(string.getBytes("CP1251"), "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return string;
}
}https://stackoverflow.com/questions/4888137
复制相似问题