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

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


●質問者: makocan
●カテゴリ:インターネット ウェブ制作
✍キーワード:ASCII PHP SJIS STR UTF-8
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● kn1967
●27ポイント

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


2 ● Yota
●27ポイント

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

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

例:

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


3 ● toyoshi
●26ポイント

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

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

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

関連質問


●質問をもっと探す●



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