
お世話になります。
現在PHPでテキストファイルの文字コードを調べる関数を作っています。
流れは
1 テキストファイルのパスをわたす
2 ファイルがあれば開いて最初の1行を読む
3 mb_detect_encoding関数でその文字列を調べて返す
という順なのですが
mb_detect_encodingで何をおくってもASCIIとしかならず
不思議に思い質問させていただきました
もしかしてmb_detect_encodingには日本語を渡さないと
autoの場合すべてASCIIで返ってくるのでしょうか?
auto時の調べる順番がASCIIが一番上になっているためですか?
また、ファイルの文字コードを調べるのにもっと良いほうほうがあれば
教えていただけないでしょうか?
よろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
「最初の1行目は空行だったり、2バイト文字が入っていない行」というケースが多いですが、そういう事はありませんか?
「空行や2バイト文字が入っていない行は無視して、そうじゃない行の判定結果を最終的な結果として返す」必要があるのではないでしょうか?
むろん「空行や2バイト文字が入っていない行しか無かった。2バイト文字が1つも無い」と言う時もあるでしょう。
1 テキストファイルのパスをわたす
2 ファイルがあれば開く
3 1行読む
4 ファイルが尽きていて読めなかったらASCIIを結果として返す
5 mb_detect_encoding関数でその文字列を調べる
6 結果がASCII以外なら、それを最終結果として返す
7 3から繰り返す
この回答への補足
返信ありがとうございます
2バイト文字のみで判定しなければいけないということですね
記述していただいた順で作成したいと思います
ありがとうございました
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
文字化け変換方法
-
【PHP】mb_convert_encoding...
-
文字列を文字コードの数値に変...
-
廣のjis変換で文字化け
-
PHPmailerでの添付ファイルの文...
-
SQL Serverで文字コードUTF-8
-
SJISで取得した半角カナをUTF-8...
-
Accessの文字数を調べたい
-
文字の入力で横バー上段、中断...
-
VBAのコマンドボタンの文字列の...
-
全角英数文字が嫌われる理由を...
-
半角記号、全角記号を含む正規...
-
texのchapterが改行される
-
エクセルのCOUNTIFが正しくカウ...
-
ソースコードの1行が長いとき...
-
全角括弧と全角読点の間隔を狭...
-
テキストボックスに改行を含む...
-
jsp 改行コードで改行させて表...
-
半角スペース の文字化け...
-
テキストボックス行の桁数を制...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
文字化け変換方法
-
SQL Serverで文字コードUTF-8
-
mb_convert_encoding で 一部の...
-
ファイルの文字コードを調べたい
-
mail()で送信したメールのタイ...
-
mb_strposについて予定外の結果...
-
小さいひらがな(っ、ょ、ぃ、ゃ...
-
PHP cURLでPOSTした値が文字化...
-
PostgreSQLからCSV形式でエクス...
-
PHPmailerでの添付ファイルの文...
-
phpMyAdmin内での文字化け
-
mb_send_mailで、半角スペース...
-
UTF8メールがLotus Notesで文字...
-
メールフォームが部分的に文字...
-
DOMDocumentの文字化けに悩まさ...
-
フォームメールの文字化け
-
mb_send_mailの2重投稿を防止し...
-
【追】「あ」→「82A0」のように...
-
SJISで取得した半角カナをUTF-8...
-
Gmailへのメール送信で文字化け
おすすめ情報