• 締切済み

EUC-JP-LINUXの文字化け

文字化けで困っているのですが,通常有名なエンコードをしても直りませんでした。 それで String enc = System.getProperty("file.encoding"); で表示させたら EUC-JP-LINUX とでましたが、この時の strPar = new String(strPar.getBytes("ISO-8859-1"),"Shift_JIS"); はどうしたらよいのでしょうか? ちなみに画面は contentType = "text/html;charset=Windows-31J" としています。

  • Java
  • 回答数1
  • ありがとう数3

みんなの回答

  • Harry_
  • ベストアンサー率55% (36/65)
回答No.1

サーブレットですか? リクエストパラメータ取得時の文字化けなのか、 レスポンスにコンテンツを書出す際の文字化けなのかを まずはっきりさせるべきです。 画面の文字全てが化けているなら、レスポンスへの書出し時 の問題でしょう。 contentType = "text/html;charset=Windows-31J" は、 contentType = "text/html; charset=euc_jp" とすべきかもしれません。 リクエストパラメータだけが化けるなら、 strPar = new String(strPar.getBytes("ISO-8859-1"),"Shift_JIS"); ですが、多分 Shift_JIS ではなく、 strPar = new String(strPar.getBytes("ISO-8859-1"),"euc_jp"); でしょう。 ところでサーブレットAPI2.3では、 上記のような方法をとる必要はありません。 サーブレットAPI2.2の環境との互換性が必要なら上記の方法でよいですが、 そうでなければ、 request.setCharacterEncoding("euc_jp"); を、getParameter する前に書いておけばいいです。

関連するQ&A

  • 携帯の文字化け

    パソコンで入力したお知らせをパソコンと携帯で確認できるようにしたものを、サーバーを移管したところ、携帯で見る方だけ文字化けをおこすようになりました。 <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> です。 // 表示文字コード define("ENCDISP", "shift_jis"); // データベース文字コード define("ENCDB", "EUC-JP"); // ========================================================= // 表示する文字コードに変換 // ========================================================= function cnv_dispstr($string) { // 文字コードを変換する $det_enc = mb_detect_encoding($string, "EUC-JP, SJIS"); if ($det_enc and $det_enc != ENCDISP) { return mb_convert_encoding($string, ENCDISP, $det_enc); } else { return $string; } } ちなみにこういうのを入れてみてもだめでした。 すいませんが教えてください。

    • 締切済み
    • PHP
  • 文字化けについて

    お世話になります 携帯サイトの文字化けに困っています。 MysqlのデータはEUC-JPなので 携帯サイトにデータを出力するのにShift-JSにしないと文字化けするというところまで調べました。 function cnv_dispstr($string) { // 文字コードを変換する $det_enc = mb_detect_encoding($string, "Shift-JIS,EUC-JP"); if ($det_enc and $det_enc != ENCDB) { return mb_convert_encoding($string, ENCDB, $det_enc); } else { return $string; } } このようにしたのですが、 Mysqlから出力したデータ部分の文字化けが解決しません。 アドバイスよろしくお願いします。

    • ベストアンサー
    • PHP
  • エンコードをEUC-JP⇒ShiftJISに変えたい

    モバイル用サイトをEUC-JPで作ってしまったので、Shift-JISに変えたいのですが、 どのように変えれば良いのでしょうか? PHP、MySQLの設定ではEUC-JPです。 METAタグでShift-JISに変えてみましたし、 PHPでエンコーディングをShift-JISに設定したのですが、変わりません。 -------------------------------------------------------------- <meta http-equiv="Content-Type" content="text/html; charset=SHIFT_JIS"> mb_internal_encoding("SJIS"); -------------------------------------------------------------- また一から作り直すしか術はないのでしょうか・・・?

    • 締切済み
    • PHP
  • 文字化けします

    またまた質問で申し訳ないんですが、よろしくお願いします。 Servletで表示させる文字が化けます。 ServletのdoGet()を呼び出しています。 ServletをURLにて直接呼び出しているので、doGetで間違いないと思います。記述としては、 response.setContentType(text/html;charset=Shift_JIS); と記述しています。 過去の質問等も調べて、byteに変換してJISAutoDetectを指定しても直りませんでした。 str = new String(str.getBytes("iso-8859-1"), "JISAutoDetect")としました。 8859-1も、同様に駄目でした。 そして、tomcatを起動した時に出るDos窓に 「Unsuported encoding: Shift_JIS」 と出ているのですが、tomcat3-1-4ではサポートされてないのでしょうか?? なんとか、解決策ってないでしょうか? 教えてください。よろしくお願いします。

  • EUC-JPのサイトをSHIFT-JISに変換するには?

    EUC-JPのサイトをSHIFT-JISに変換して表示したいのですが、うまくいきません。 どのへんが間違っているのか教えていただけないでしょうか? <?php header("Content-Type: text/html; charset=Shift_JIS"); //EUC-JPデコードされたURL $url = "http://www.hogehoge.com"; //ファイルとして読み込む $fileUrl = @readfile($url); //エンコードする $encUrl = urlencode($fileUrl); //SHIFT-JISに変換する $newUrl = mb_convert_encoding($encUrl, "Shift_JIS", "auto"); //表示する echo $newUrl; ?>

    • ベストアンサー
    • PHP
  • EUC_JPの文字化け

    指定された文字列(String型)を以下の様にバイト配列で保持し、 byte[] work = "指定文字列".getBytes(encoding); そのバイト配列を使用し、再度、以下の様にStringを生成します。 new String(work, encoding); (作成したプログラムを添付したいのですが、文字数の関係で割愛します。) 指定文字列は機種依存文字(丸数字等)にします。 この時、encodingにMS932、UTF-8等を指定した場合は問題なく元の文字列が 取得できますが、EUC_JPを指定すると、?に文字化けを起こします。 調査すると、getBytesでbyte配列を取得した時点で既に変換不良を起こしていました。 (丸数字全てが0x3fになっていました。期待していたコード、というか本来は、0xADA1~0xADB4のはずです。) そこでStringクラスのgetBytesメソッドをオーバーライドしちゃえという、甘い考えが浮かび、 javaのソースコードでString.javaを見ましたが、結局のところ、どこでコード変換を行っているのか よくわかりませんでした。 そこで質問です。 1)これはJDKのバグなのですか? 2)こんな経験がある。あるいはこういう対処をした。というかた、おりましたら、   参考URLでも構いませんが教えてください。 以上、よろしくお願いします。

  • GoLive 6 の文字化け

    Mac OS X 10.3.4 でGoLive 6.0.1を使用してます。 日本語入力で文字化けして困ってます。ソースで 「"text/html;charset=ISO-8859-1"」を「text/html; charset=Shift_JIS」に 書き換えて対処していますが、どのように設定を変えれば 良いか教えて下さい。 環境設定>エンコーディング>日本語 内は x-sjis x-euc-jp iso-2022jp Mac os EUC の項目は 有るのですが shiftJIS の項目が有りません。

  • EUC-JPをShift_JISに変えても大丈夫ですか?

    YahooのジオクリエイターでHPを作っていたら文字コードが<meta http-equiv="content-type" content="text/html; charset=EUC-JP">このようになっているんですが <meta http-equiv="content-type" content="text/html; charset=Shift_JIS">に変えてしまっても問題ないんでしょうか? 複数ページがあって、いくつかのページだけEUC-JPで、ほかのページはShift_JISでした。 Shift_JISがメジャーと聞いたので全てのページの文字コードをShift_JISに変えてしまおうと思うんですが ほかのタグなど一切変えず文字コードだけ変えて、今まで普通に見れてたものが見えなくなったり、何か不具合が起こることはないんでしょうか? 今後、ジオクリエイター以外の環境でHPを作成・編集することもできるようにShift_JISで統一させておいたほうがいいですよね? よろしくお願いします。

    • ベストアンサー
    • HTML
  • 文字コード変更による、文字化け・レイアウト崩れ

    文字コードをShift-jisからEUC-JPに変更したいのですが、 HTML・CSSに処理を施したら文字・レイアウトが大幅に崩れてしまいました。 以下のように変更したのですがやり方に間違いはないでしょうか? [HTML] <meta http-equiv="Content-Type" content="text/html; charset=Shift-jis"> ↓↓ <meta http-equiv="Content-Type" content="text/html; charset=euc-jp"> [CSS] @charset "shift_jis"; ↓↓ @charset "euc-jp"; また、ブラウザの表示⇒エンコードで(Shift_jis)を選択すると今までどおり正常に表示されます。(HTMLとCSSにはeuc-jpの記述にも関わらずです) これは文字コード変更したと思い込んでしまっているのでしょうか? 解決策お願いします。 あまり知識がありませんので、分かり易く教えていただけるとありがたいです。 ちなみにエディタはHTML Project2を使用しています。

  • LinuxでのJSPによるXML文書表示の際の文字コードについて

    Windowsで作ったXML操作のJSP(Servletと連携してます)を、Linuxのサーバー において、動作させたいと思っています。 Linuxは全く初めてなので、教えていただきたいのですが。。 XMLを再帰処理で読みこんで、ツリー構造で表示するところが、Windowsだと エラーなくできるのですが、Linuxだとjspの再帰処理の部分でソースコードのエラー (try{}catch{}の}が閉じられていないなどの)エラーになってしまいます。 Windowsのソースコードのままなので、"}"が閉じられていないというのは考えにくいので、 おそらく文字化けのエラーだと思っています。 jspのディレクティブのところは、"Shift_JIS"の部分を"EUC-JP"に変えて <%@ page pageEncoding="EUC-JP" contentType="text/html; charset=EUC-JP" ・・・・%> としたんですが、これだけでは足りないでしょうか? 再帰処理の表示のところでも、文字コードの設定が必要とか。。。 あと、画面で入力された文字はWindowsだとメソッド内で new String(string.getBytes("8859_1"), "Shift_JIS").trim(); としているんですが、"Shift_JIS"を"EUC_JP"に変えるとして、"8859_1"の部分は 変えなくて良いでしょうか?? 初歩的な質問ばかりですみません。。Linuxのことを詳しく書いてある本が会社になくて、 (Linuxの本はあっても、肝心の知りたいことが書いてなかったりするので) できればLinuxでjavaを扱うサイトやLinuxでXMLを扱うオススメのサイトを知っていたら、ぜひぜひ教えてほしいのですが☆ よろしくお願いします。

    • ベストアンサー
    • Java

専門家に質問してみよう