0

我正在尝试让特殊字符(如德语变音符号(ä、ö、ü)与 . 一起使用Google App Engine,但遗憾的是它不起作用。Eclipse 文本文件编码设置为UTF-8,我用<meta http-equiv="content-type" content="text/html; charset=UTF-8">在我index.html的,web.xml也在用encoding="utf-8"

如果我在本地编译我的项目,字符会正确显示。如果我将它部署到 google apppot,字符显示如下:��. 我还检查了浏览器编码,设置为UTF-8,我错过了什么?

编辑 这是一个在本地工作但不能在线工作的示例:

<html>
<head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <title>ä ö ü</title>
</head>
<body>
    <form name="profile" action="">
        <select name="p" size="1">
            <option value="1">ä</option>
            <option value="2">ö</option>
        </select>
    </form>
</body>

Edit2 我可以隔离问题。一开始我使用谷歌频道 api 与客户沟通。在这里,我将令牌写给用户。这就是问题。这是代码:

我想我必须转换为 UTF-8,但是在哪里呢?

FileReader reader = new FileReader("index.html");
CharBuffer buffer = CharBuffer.allocate(16384);
reader.read(buffer);
reader.close();

String index = new String(buffer.array());
index = index.replaceAll("\\{\\{ token \\}\\}", token);
index = index.replaceAll("\\{\\{ user \\}\\}", account);

resp.getWriter().write(index);

为什么字符在网上显示不正确?

4

1 回答 1

0

FileReader 始终使用平台默认编码。采用

InputStreamReader(new FileInputStream("index.html"), "UTF-8")
于 2012-11-01T16:30:43.103 回答