PHPで外部ファイルを読み込み、UTF-8で出力するサイトを制作しております。

ただ、この外部ファイルがSJIS等の可能性もございます。
こういった場合の対応方法をお教えくださいませ。
※ちなみに、mb_detect_encoding($str, 'auto')で文字コードを取得する方法は、ASCIIが取得され、うまくいきませんでした。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2007/07/12 14:24:55
  • 終了:2007/07/19 14:25:03

回答(3件)

id:kn1967 No.1

kn1967回答回数2915ベストアンサー獲得回数3012007/07/12 14:38:05

ポイント27pt

auto は ASCII,JIS,UTF-8,EUC-JP,SJISの順に対応してしまいますので

"UTF-8,SJIS"といったように順序を明示的に示しておく必要があります。

PHP: mb_detect_encoding - Manual


何箇所も修正しなければならないというようなことであれば

mb_detect_orderでautoの場合の順序をあらかじめ指定しておくという手もあります。

PHP: mb_detect_order - Manual

id:Yota No.2

Yota回答回数453ベストアンサー獲得回数282007/07/12 15:33:02

ポイント27pt

http://www.php.net/manual/ja/function.mb-convert-encoding.php

ここに書いてあるような候補を列挙するような方法ならどうですか。当方では3つのエンコーディングで試したら、うまくいきました。

例:

str = mb_convert_encoding($str, "UTF-8", "SJIS,EUC-JP,UTF-8");

id:toyoshi No.3

toyoshi回答回数67ベストアンサー獲得回数12007/07/13 01:12:03

ポイント26pt

echo mb_detect_encoding($str, "UTF-8,EUC,SJIS,ASCII");

として試されてはいかがでしょうか?

http://q.hatena.ne.jp/

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません