人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

(PHP) 韓国語で書かれたサイトの文字コードを取得するにはどうしたらいいのでしょうか?

EUC-JPやUTF-8などはしっかり取得できるものの www.yahoo.co.kr などの EUC-KR の文字コードの場合 mb_detect_encoding で文字コードを出そうとするとEUC-JPになってします。

日本語、英語でもちゃんと各国の文字コードを取得するにはどうしたらいいのでしょうか?

●質問者: esecua
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:EUC EUC-JP PHP UTF-8 WWW
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ●
●32ポイント

PHPはデフォルトの状態では韓国語に対応していません。

(中国語、ロシア語にも対応していません。)

関係しそうな部分をピックアップしておきます。

mbstring は拡張モジュールです。つまり、デフォルトでは 有効にならないということです。 configure スクリプトでモジュールを有効にする必要が あります。詳細は、インストールの 節を参照してください。

--enable-mbstring=kr を 使用した場合、韓国語のエンコーディングがサポートされます。

また、--enable-mbstring=all を指定した場合、サポートされるすべての文字エンコーディングが 有効となるので便利です。

注意: 以前のバージョンとの互換性のため、何もオプションを指定せずに --enable-mbstring を使用した場合は 日本語のエンコーディングがサポートされます。

phpinfo()でconfigureの内容を確認してみてください。

もし、すでに韓国語が使える(--enable-mbstring=kr、または--enable-mbstring=allが設定されている)場合、mb_detect_encodingでの設定でEUC-KRを追加すれば正しく判定できると思います。

試していないので間違っている可能性もありますが、mbstring.languageをneutral(UTF-8)に設定しておいた方が良いかもしれません。

mbstring.languageの設定はphp.iniで変更するか、あるいはini_setでファイルごとに変更してください。

実際に試していないので確実ではありませんが、参考になると幸いです。

◎質問者からの返答

ありがとうございました。


2 ● WATARU00
●8ポイント

ためしてみてください。

スタート→コントロール パネル→日付時刻地域と言語のオプション→地域と言語のオプション→補足言語サポートの東アジア言語ファイルのインストールにチェックして適用をクリック

これで大丈夫だと思います。

◎質問者からの返答

なんのことですか?


3 ● abunakunai
●40ポイント

mb_detect_order()で検出順序を指定してあげます。

mb_detect_order('iso-2022-jp, utf8, euc-kr, eucjp-win');

などのように。

このとき、コードがかぶると先頭から順に一致したものに

マッチするので、並び方も重要です。

eucよりeuc-krを先に検出したい場合は上記のようにすればokです。

◎質問者からの返答

OKです。ありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ