我有一些HTML代码存储在一个Java.lang.String变量中。我将该变量写入文件,并在将字符串变量的内容写入文件系统上的文件时将编码设置为UTF-8。我打开那个文件,一切看起来都很棒,例如→显示为右箭头。Java字符串编码为UTF-8
然而,如果相同的字符串(包含相同的内容)被用于通过一个jsp页面呈现内容在浏览器中,字符,如→显示为一个问号(?)
当在存储内容String变量,我要确保我使用:的
String myStr = new String(bytes[], charset)
而不只是:
String myStr = "<html><head/><body>→</body></html>";
有人能告诉我为什么字符串内容获取写入文件系统,但不会在jsp /浏览器中呈现?
谢谢。
看起来你没有在页面的标题中提供正确的“charset”。尝试将浏览器中的编码更改为UTF-8 – 2009-11-16 23:18:55
您不应更改浏览器中的编码。您应该*指示*浏览器通过相应地设置响应编码来使用正确的编码。 – BalusC 2009-11-16 23:20:45
如果您的其他评论表明,您在服务器端看不到字符,那么接下来要检查的是如何访问该字节数组。你在读文件吗?你是否设置了编码?我理所当然地认为charset等于'“UTF-8”'。 – Yishai 2009-11-16 23:26:10