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"等が文字化けしてしまいます。
何か解決策ありますでしょうか。
宜しくお願いします。
No.1ベストアンサー
- 回答日時:
"Windows-31J" JavaScript
でググると、参考URLがヒットして、
> IE の場合だけ、Windows-31J の代わりに csWindows31J を利用します。
だそうです。
余談ですが、"Windows-31J" は "cp932" と同義で、IANA で定義された「MS方言のSJIS」を意味する文字コード名です。 にもかかわらず、"Windows-31J"を「未知の文字コード」と扱うMS製品が多いのは確信犯という気がしてなりません。
# こんな事を書くと、またマイクロソフト擁護派から反発を喰らうんでしょうが、書かないと状況が良くならない...
参考URL:http://d.hatena.ne.jp/kusakari/20070720/1184928455
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- PHP PHPのエラーの解消法について教えて下さい。 1 2023/02/06 10:48
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- JavaScript GoogleChart 階層ごとのブロックの長さを個別に設定したい 1 2022/07/06 14:27
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
JSPでソースが表示されてしまう。
-
htmlで<form>~</form>を並べて...
-
ボタンでパラメータを渡すには
-
フォーム上で押されたボタンに...
-
腕時計の時報をならないように...
-
EXCEL VBAで、EXCELの入力規則...
-
三菱GOTの画面切り替えについて
-
JSPでのサブミット判定
-
jspからServletを呼び、元のjsp...
-
ボタンが活性化の場合とは、ボ...
-
JSPからJSPへ情報を渡せる?
-
プログラミングで例えばゲーム...
-
ASP.NET 画面遷移前の状態を保...
-
ActiveReportのDataSourceについて
-
JAVAのセッション変数の上書き...
-
ウィンドウの制御について、質...
-
webアプリを作ってます。エラー...
-
リクエストに応じたselectedの...
-
eclipseで新規Tomcatプロジェク...
-
Tomcatの仮想ディレクトリ配置...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
htmlで<form>~</form>を並べて...
-
テキストをテキストエリアに自...
-
フォームのテキストボックスの...
-
JSPでソースが表示されてしまう。
-
ある環境のみinputタグが複数あ...
-
私の能力からして間違っていな...
-
ボタンでパラメータを渡すには
-
読めない!
-
Struts 1.3 でbeanタグが認識さ...
-
strutsで画面遷移
-
htaについて。親画面子画面を認...
-
Ajax+Servletで文字化け
-
末尾が.jsp
-
formで送った情報を受け取るには?
-
三菱GOTの画面切り替えについて
-
リクエストに応じたselectedの...
-
フォーム上で押されたボタンに...
-
腕時計の時報をならないように...
-
ボタンが活性化の場合とは、ボ...
-
VB6 開発環境のエディタに行...
おすすめ情報