• 締切済み

―ソ欺圭構蚕十申貼表予…などの文字化けを処理関数について

―ソ欺圭構蚕十申貼表予・・・など、\を付けないと文字化けして ブラウザ表示してしまう文字がありますが、 ある変数に代入された文字に対して、該当する文字の場合、 \処理して返してくれるようなJavaScript関数を、どうかご教授下さいませ。 よろしくお願い致します。

みんなの回答

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

そのような文字化けしてしまう文字については、 ブラウザに渡す前に処理する必要があります。 ブラウザ上では、既に(ユニコードとして)処理されている上で化けているからです。 なので、既に表示されてしまって化けている文字をjavascriptを使って \付加処理などはできません。 ブラウザからブラウザに文字を受け渡す時に、そのような文字コードが問題になる場合は、 http://nurucom-archives.hp.infoseek.co.jp/digital/escape-codec-library.html を使うとjavascript でうまく処理できると思います。

THUBAN
質問者

お礼

PHP内での処理になったので、いったん閉め切らさせて下さい。 ありがとうございました。

THUBAN
質問者

補足

ご回答ありがとうございます。 しかし、すでにecl.jsライブラリは使用し、ブラウザに渡す前の 問題については、GetEscapeCodeType()関数などを随所で多様し、 これについての文字化けは解決させています。 その文字化けではなく、SHIFT_JIS問題でのダメ文字を 何とかしたいと思っています。 よって、既に表示されてしまって化けている文字を javascriptを使って\付加処理するのではなく、 入力ボックスからINPUTした時点で、ダメ文字かどうかを判定して、 例えば「予定」が入力されたときに「予\定」として出力したいのです。 ANo.1の人のご回答で、ソースファイルをEUCに・・・というのを いただきましたが、ソースファイルをEUC-JPでサーバアップすると サーバ環境(WindowsのIIS)の影響か、ブラウザに出る文字は 違う意味で文字バケを起こします。 ブラウザで、EUC-JPを指定しても、強制的にSJISにされて表示されますし・・ したがって、プログラムで回避しようと考えています。 もっとも、サーバ環境(WindowsのIIS)側で対応できれば、 一番楽なのですが・・

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

SJISを使うのをやめEUCになさるのが賢明かと。 とりあえずWindows上で普通にかいても、FTPの オプションで文字コードを変換してくれるものも あるので。

THUBAN
質問者

お礼

PHP内での処理になったので、いったん閉め切らさせて下さい。 ありがとうございました。

THUBAN
質問者

補足

ありがとうございました。 EUC-JPでしょうか? すでに、膨大にプログラミングしてしまっているので、 今からSJISに関わる箇所をすべて探して出して 変更するのは厳しいです・・・

関連するQ&A