- 締切済み
―ソ欺圭構蚕十申貼表予…などの文字化けを処理関数について
―ソ欺圭構蚕十申貼表予・・・など、\を付けないと文字化けして ブラウザ表示してしまう文字がありますが、 ある変数に代入された文字に対して、該当する文字の場合、 \処理して返してくれるようなJavaScript関数を、どうかご教授下さいませ。 よろしくお願い致します。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
回答No.2
そのような文字化けしてしまう文字については、 ブラウザに渡す前に処理する必要があります。 ブラウザ上では、既に(ユニコードとして)処理されている上で化けているからです。 なので、既に表示されてしまって化けている文字をjavascriptを使って \付加処理などはできません。 ブラウザからブラウザに文字を受け渡す時に、そのような文字コードが問題になる場合は、 http://nurucom-archives.hp.infoseek.co.jp/digital/escape-codec-library.html を使うとjavascript でうまく処理できると思います。
- yambejp
- ベストアンサー率51% (3827/7415)
回答No.1
SJISを使うのをやめEUCになさるのが賢明かと。 とりあえずWindows上で普通にかいても、FTPの オプションで文字コードを変換してくれるものも あるので。
質問者
お礼
PHP内での処理になったので、いったん閉め切らさせて下さい。 ありがとうございました。
質問者
補足
ありがとうございました。 EUC-JPでしょうか? すでに、膨大にプログラミングしてしまっているので、 今からSJISに関わる箇所をすべて探して出して 変更するのは厳しいです・・・
お礼
PHP内での処理になったので、いったん閉め切らさせて下さい。 ありがとうございました。
補足
ご回答ありがとうございます。 しかし、すでにecl.jsライブラリは使用し、ブラウザに渡す前の 問題については、GetEscapeCodeType()関数などを随所で多様し、 これについての文字化けは解決させています。 その文字化けではなく、SHIFT_JIS問題でのダメ文字を 何とかしたいと思っています。 よって、既に表示されてしまって化けている文字を javascriptを使って\付加処理するのではなく、 入力ボックスからINPUTした時点で、ダメ文字かどうかを判定して、 例えば「予定」が入力されたときに「予\定」として出力したいのです。 ANo.1の人のご回答で、ソースファイルをEUCに・・・というのを いただきましたが、ソースファイルをEUC-JPでサーバアップすると サーバ環境(WindowsのIIS)の影響か、ブラウザに出る文字は 違う意味で文字バケを起こします。 ブラウザで、EUC-JPを指定しても、強制的にSJISにされて表示されますし・・ したがって、プログラムで回避しようと考えています。 もっとも、サーバ環境(WindowsのIIS)側で対応できれば、 一番楽なのですが・・