私はインターネット上のすべてを見て、答えを見つけることができません。CSVをPHPでUTF-8に変換する方法
私は何千というCSVをソースから奪っています。 CSVには、任意の文字エンコードを使用できます。だから私はそれらをすべてUTF-8に変換する必要がある。
utf-8をutf-8に変換するとデータが壊れてしまいますので、私がしようとしているのはファイルの文字エンコーディングを検出し、utf-8を変換したいのであればそれはutf-8(私はiconvを使用する予定です)。
私はスタックオーバーフロー(および他のサイト)ですべてを試しましたが、私はファイルの現在のエンコーディングを取得できないようです。
私が使用している場合は
mb_detect_encoding(file_get_contents($csvPath), mb_detect_order(), TRUE);
または
mb_detect_encoding(file_get_contents($csvPath),'auto');
持っている人、私はcsvファイルのエンコーディングを検出するか、私は知らなくてもファイルを変換することができ、より良い方法を持つことができる方法上の任意の提案を得ました元のエンコーディング。
オリジナルのエンコーディングがわからない場合は、推測できることがあります。このため、エンコードを保存/認識/伝達することが重要です。 –
「推測」のためのあなたの最高のアドバイスは何でしょうか?エンコーディングを推測し、変換してみて、次のエンコーディングを試みると文字が混乱していないかどうかを確認するファイルを読み込みますか? –
また、bbeditやtextwranglerのようなプログラムがエンコーディングを検出する方法を知っていますか?彼らは完全にそれをするようです。 –