以下のように、Javaからtest.jsを作成しています。Test.jsは、パラメーターとして特殊文字〜('\ u0098');を受け取る関数d()を実装します。
関数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()に732ではなく152を表示させるにはどうすればよいですか?(文字セットの問題?)。ありがとう
TEST.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.JAVAによって作成されたTEST.JS
function d(a)
{
a=(a+"").split("");
alert(a[0].charCodeAt(0));
};
d("˜"); // Note special character representing '\u0098'
TEST.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>