我正在从 Java 创建 test.js,如下所示。Test.js 实现了函数 d(),它接收作为参数的特殊字符 ∼ ('\u0098');
函数 d() 应显示此特殊字符的 charCodeAt(),即 152。但是,它显示 732。
请注意,字符 152 和 732 都由特殊字符 ~ 表示,如下所示。
http://www.fileformat.info/info/unicode/char/098/index.htm
http://www.fileformat.info/info/unicode/char/2dc/index.htm
如何强制函数 d() 显示 152 而不是 732?(字符集问题?)。谢谢
测试.JAVA
public void doPost(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException
{
res.setHeader("Content-Type", "text/javascript;charset=ISO-8859-1");
res.setHeader("Content-Disposition","attachment;filename=test.js");
res.setCharacterEncoding("ISO-8859-1");
PrintWriter printer=res.getWriter();
printer.write("function d(a){a=(a+\"\").split(\"\");alert(a[0].charCodeAt(0));};d(\""); // Writes beginning of d() function
printer.write('\u0098'); // Writes special character as parameter of d()
printer.write("\");"); // Writes end of d() function
printer.close();
}
TEST.JS 由 TEST.JAVA 创建
function d(a)
{
a=(a+"").split("");
alert(a[0].charCodeAt(0));
};
d("˜"); // Note special character representing '\u0098'
测试.HTML
<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /></head>
<body>
<script type="text/javascript" charset="ISO-8859-1" src="test.js"></script>
</body>
</html>