※ ChatGPTを利用し、要約された質問です(原文:Ajax+Servletで文字化け)
Ajax+Servletで文字化け
このQ&Aのポイント
Ajax+Servletで文字化けしてしまう問題の解決策について
Ajax+Servletでの文字化けの原因と対処法について
Ajax+Servletで文字化けしてしまう場合の対策方法
Ajax+Servletで"I"、"II"等が文字化けしてしまいます。
以下のようにajaxを使いserver側のservletへアクセスしています。
xmlhttp = this.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Msxml2.XMLHTTP");
//コールバック関数の登録
xmlhttp.onreadystatechange = display;
xmlhttp.open('POST','Test',true);
xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xmlhttp.send(null);
フトントの画面はJSPで
<%@ page language="java" contentType="text/html; charset=Windows-31J" pageEncoding="Windows-31J" %>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-31J">
で定義しています。
サーブレットはpostgresのDBから項目を取得し、htmlを返却しています。
返却したhtmlをDOMのinnterHTMLを使い、画面を書き換えています。
response.setContentType("text/html; charset=Windows-31J");
servletからhtmlを返却する際、上記のようにWindows-31Jで返却すると、javascriptで"xmlhttp.responseText"の所で
"ランタイムエラーが発生しました。デバックしますか 行107 c00ce56eの為、操作を完了できませんでした。"
とエラーが出てしまいます。
response.setContentType("text/html; charset=shift-jis");
出力する際、上記のようにShift-jisで返却すると、エラーは発生しないのですが、"I"、"II"等が文字化けしてしまいます。
何か解決策ありますでしょうか。
宜しくお願いします。
お礼
うぉぉ~!ドンピシャです。 解決できました。 大変助かりました!有難うございました。