1

私はphpでCSVファイルを読んでいますが、私が理解している限り、これらの種類のファイルには、hoomans omgなどによって発明された任意のエンコーディングを含めることができます...私はMacRoman ANSIでエンコードされたCSVを持っていると思います. m は Mac で作業しています。

これまでのところ、とても良いです(まったく良くありませんが、それは別のトピックです)..今、行を繰り返している間、私は次のような値を持っています:

Z�rich

明らかに、それは「チューリッヒ」でなければなりません-「ü」がありません..

今、私はほとんど何でも試しました..mb_detect_encodingは「false」と言っているので、彼はそれが何であるかを理解していません...

次に、セバスチャン・グリニョーリによる天才クラスをここで見つけました->エンコーディングを検出し、すべてをUTF-8にします

いいようですが...私が得たのは:

ZŸrich

私が期待していた「ü」ではありません:D

今、私は、「utf8_encode」が何らかの形で機能することを発見しました。

Z\u009Frich

しかし..今何?これをデータベースに直接入れると、最終的な値は「Zrich」になります。これは、まだ実際には UTF-8 ではないことを意味しますか、それとも db がエスケープされたバリアントに苦労しているだけですか? その値で mb_detect_encoding を作成すると、彼は今「UTF-8」と言います..いいです..しかし、どうすればさらに進むことができますか? 「チューリッヒ」を UTF-8 で正しい方法で取得するにはどうすればよいですか?

4

2 に答える 2

1

最初にすべてのファイルを iconv で変換してみてください。そして後でインポートします。または、すべての行を繰り返して、iconv で変換します。

ファイルの元のコード化を知っている必要があります。

于 2013-09-11T21:53:55.317 に答える