• ベストアンサー

UTF-8をわざわざEUC-JPに変換する理由

何か得することとかありますか? サンプルプログラムなんかだと、よく変更しています 私はサイトを全てUTF-8でやっているので、わざわざ変換しなくてもいいかなと思っています でもtxtファイルがUTF-8で記述されていて、なおかつプログラムもUTF-8なのに わざわざEUC-JPに変換してから色々やってるプログラムが多いのです。 これは多分私の認識不足なのか、それとも古い何かに対応する為なのかが分かりません。 まだ勉強始めたばかりなので、何でこんなことと思われるかも知れませんが なにとぞよろしくお願いします。

noname#14955
noname#14955
  • PHP
  • 回答数2
  • ありがとう数3

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

理由は、EUC-JP信奉者が多いから 「全てUTF-8でやっているので」だったら、 OS依存部分、DB処理関連、一部の関数、コマンドの外部呼出しなど、 EUC-JPでないと問題がある場合もあるが 最初は「全て」なら意識しないでいいと思うけど。 #DBなどは設定による #PHPの入出力の設定も注意をかける必要もある どんなエンコード方式を主にしても問題となる事がある 携帯サイト、特に絵文字処理などはいい例だろう その壁を経験値にすればいいと思うけど。

noname#14955
質問者

お礼

なるほど、EUC-JPでないと問題がある部分があるんですね。 それなら今のうちから少しencodeの変更も勉強したいと思います 確か携帯サイトはShift-jisだけですもんね。 ありがとうございました^^

その他の回答 (1)

  • tango7
  • ベストアンサー率42% (39/91)
回答No.2

UNIX系のデフォルトがEUC-JPでOSを構築することが多いからではないでしょうか? UTF-8など使われると、nkfでいちいち変換しないと中身が読めないということになりますよね。 それで統一しているんだと思います。

noname#14955
質問者

お礼

UNIXのdefaultがEUC-JPとは知りませんでした! これから作成するのはやはりEUC-JPの方がよいのでしょうか? それとも自分だけの物なら別に問題ないですか? どちらにしろencodeの勉強はした方がいいみたいですね! ありがとうございました^^

関連するQ&A

  • EUCからUTF-8へのコード変換

    いつもお世話になっております。 C++でEUC-JPで書かれた文字列をUTF-8に変換するプログラムを作成したいのですが、変換ルーチン(TBL等)をどのように書けば良いか分かりません。 サンプル等があれば教えて頂けないでしょうか? 提供されているライブラリ等は使用しない(できない)予定ですのでお願いします。

  • EUCのファイルを開くとUTF-8になる

    文字コードがEUCのperlで書かれたCGIをブラウザで表示すると、UTF-8となっています。(自動認識と設定していた場合) その場合は、文字化けしてしまいます。 ブラウザの文字コードをEUCに変更すると、文字化けせず表示されます。 perlプログラムは、EUCで書かれているのに、ブラウザでは(自動認識と設定していた場合)、UTF-8となる理由はどこにあるのでしょうか? perlプログラムでは、METAヘッダにEUC-JPと記述されています。 ちなみに、サーバのOSはCentOSです。(httpd.confでは、UTF-8が設定されています)

  • javaでEUC-JP文字列→UTF-8への変換

    DB内にEUC-JPで保存されているデータを取得して、これをUTF-8文字列として扱いたいです。 phpでいうところの$string = mb_convert_encoding($string, "UTF-8", "EUC-JP"); をjavaで実現したいです。 どのように記述すれば変換できるのでしょうか? 検索しても、数十行もコードを書いて実現しているものばかりで、 シンプルな方法が見つかりません。 javaには難しい処理なのでしょうか…

  • euc-jpからutf-8の文字コード変換について

    現在、何らかのhtmlを取得する際にはurf-8で統一しようと思っているのですが、 たとえば <?php $f=file_get_contents("http://blog.livedoor.jp/dqnplus/")//文字コードEUC-JP; $f = mb_convert_encoding($f,"utf-8","eucjp-win,utf-8,sjis-win,EUC-JP"); echo $f; ?> では、EUC-JPからの変換がうまくいきません。 ……というより、EUC-JPのエンコーディングのみ失敗してしまいます。 (文字化けしたもののみ抽出すると、すべてEUC-JPでした) どのようなコードを書けば、正常にエンコードできるでしょうか。 どなたかご教示のほど、どうかよろしくお願いいたします。

    • 締切済み
    • PHP
  • OSの文字コードはUTF-8か?EUC-JPか?どちらがいいでしょうか・・・

    この度、CentOS4で自宅サーバを構築しようと思っています。 そこで、確認したいことがあるので、ご意見など頂ければと思います。 CentOS4はシステムの文字コードがUTF-8ですが、これはEUC-JPに変更したほうがいいのでしょうか? サーバの目的としては、知り合い・身内などが使うWEB・FTP・メールサーバ機能を持たせ、Sambaを設定してファイルサーバにもする予定です。 WEBサーバ上では、各人がPHP・Perlによるスクリプトを動かしますし、Tomcatも使います。 私自身も、サンプルなどとしてosCommerceやXPOOSなどのオープンソースのものも動かします。 上記においては、EUC-JPに変更したほうがいいのでしょうか? 今までは、FedoraCore3を使っていましたが、EUC-JPに変更していましたのでEUC-JPにすればいいかもしれませんが、これから作成するPHPやPerlのスクリプトなど今後の変更を考えれば、はじめからUFT-8のほうが良いのかなと思っています。 ただ、他の利用者は、エディタやFTPソフトなど使用しているソフトがUTF-8に対応しているものを使用しているとは限らないので、やっぱりEUC-JPのほうが良いのかなという気もしますし・・・ 皆さんのご意見・アドバイスなど頂けたらと思います。 よろしくお願いします。

  • EUC_JPにない文字のshiftJISからの変換処理

    http://okwave.jp/qa757480.html ここにある質問と同じ状況になっています。 shiftJISの文字列をEUC_JPに変換したところ、 invalid byte sequence for encoding "EUC_JP" というエラーが出ました。 EUCにない文字なので変換が出来ないのはわかるのですが、ではその場合どのような処理が妥当でしょうか。 テキストデータから文字を取り込んでいるので最初から文字をEUC_JPやUTF-8で文字列を作ることができません。 EUCにない文字はどうやっても変換できないので代替文字もしくは記号を置くことで解決しようかと思ったのですが、そうするとどの文字がshiftJISにあってEUCにないかの一覧がないとどうしようもないかと思います。 この場合はどうするのが良いかアドバイスいただけませんでしょうか。

    • ベストアンサー
    • Perl
  • できればソースを変えないでEUC-JPで出力したい

    g++でコンパイルして、画面上にprintfで出力しているのですが、ソースコードの漢字がUTF-8だけど出力時はEUC-JPにする方法はありますか? printfを別の関数にしてそこでEUC-JPに変換して出力する方法は直ぐに思いつきますが、 できれば、printfのソースを変えずに(ソースのコード自体もUTF-8のまま)EUC-JPに出力する方法がありますか? なければ、別の関数にして書き換える方法をとりますが、単に可変引数でprintfの真似までして 書き直すなら、iostreamなどつかって、iostreamの機能を拡張してEUC-JPを出力する記述方法がわからないので、できる人教えていただけますか。こうすると、後でシフトJISを出力したい時も簡単に直せて、ソースの見た目もダサダサにならないかなと思っています。

  • MySQL4.1にはEUC-JPが無い?

    MySQL4.1.16をダウンロードし、インストールを行いました。 しかし、my.iniを見てみると、デフォルトの文字コードが「latin1」というものでした。 phpMyAdminも2.7.0-pl1をダウンロードしてきて、 ブラウザ上で確認しようと思うのですが、 phpMyAdminの表示文字コードがUTF-8以外に変更も出来ず、 「~の順序」というやつもUTF-8のようで、 EUC-JPについては一切ありませんでした。 MySQL4.1.16、phpMyAdmin2.7.0-pl1の組み合わせでは 文字コードにEUC-JPは利用出来ないのでしょうか? また、phpMyAdminのバージョンだけ落としてしまえば 解消される問題なのでしょうか? 「MySQL Server Instance Config Wizard」から MySQLの構成変更を行ったらサービスを起動出来なくなったので 色々試せない状況にあります。 (アプリケーションのアンインストール、レジストリの削除、PC再起動という作業が大変)

  • mysql utf8、php・euc-jp で出力すると、[~]が文字化けする

    タイトルの通りです。 mysqlの文字コードはutf8なのですが、phpはeucで出力しています。 DBに格納されている文字は文字化けせずに、きちんと表示されているのですが、出力すると「~」が「?」に化けて表示されてしまいます。 mysql_query(”SETNAMES ujis″); や mb_language("Japanese"); mb_internal_encoding("EUC-JP"); mb_http_input("auto"); mb_http_output("EUC-JP"); 等も記述しておりますが、どうしても化けてしまいます。 回避方法等ご存知の方がおられましたら、ご教授お願いいたします。

    • ベストアンサー
    • PHP
  • Shift-JISからUTF-8への変換が出来ません

    初歩的な質問で申し訳ありませんが、大変困っております。ただいまimagettftext()を使って日本語主力したく悪戦苦闘しております。  ページ自体はShift-JISで制作していますのでimagettftext()で日本語を出力する場合はUTF-8へ変換して出力するところまでは知れべていて分かりました。しかしいざmb_convert_encoding()で変換しようとするとなぜかUTF-8へ変換されません。 $str = mb_convert_encoding($str,"UTF-8","SJIS"); print mb_detect_encoding($str);  結果→SJIS しかしこれがEUC-JPなら変換されます。 $str = mb_convert_encoding($str,"EUC-JP","SJIS"); print mb_detect_encoding($str);  結果→EUC-JP なぜなのか原因が分からなく困っております。 どなたかご教授願いませんでしょうか? よろしくお願い致します。

    • 締切済み
    • PHP

専門家に質問してみよう