2012-03-04 14 views
1

私はデータベースに取り込む必要があるLinuxサーバに書き込まれたたくさんのテキストファイルを持っています。私はfile_get_contents()を使ってファイルの内容を取得しています。テキストファイルには特殊文字がたくさんあります(àáâaçæéëëííïòòòòòòòòuûüのようなものです)、データベースに正しく入っていないだけです(これはWordpressサイトに具体的に入ります)。私がチェックしたりしようとした文字エンコーディングの問題 - データベースへのテキストファイル

もの:

  • 私はにデータを入れているデータベースは、私は、テキストファイルが何であるかを見るためにmb_detect_encodingを()を使用してきました
  • utf8_general_ciです。それは彼らがISO-8859-1だと思っています
  • ファイル-biを使ってSSHの文字セットをチェックしました。それは(私がにhtmlentitiesを試してみた
  • )私は(のiconvを試した
  • )私は(mb_convert_encoding試した
  • )私は(はutf8_encodeを試みた彼らは
  • 平文/無文字セットじゃないんだと思います)
  • WPサイトのメタタグを出力UTF-8
  • に設定されているphp.iniで設定されたサーバーの文字エンコーディングは、()に応じて、ISO-8859-1

に設定されていることを確認しました私が試したもの、私はどちらかを得るそれを少し揺らすA、またはより一般的には、その中の00 86のように見える長方形。

私は困惑しています - 他の誰かの提案があれば、私はすべて耳です!

答えて

1

は(重要度の順に)確認してください:

  1. あなたのデータはUTF-8でエンコードされた(該当する場合、これは、あなたのデータベースが含まれます)です。
  2. サーバーがutf-8ヘッダーを送信しています。
  3. あなたのHTMLにはutf-8メタタグがあります。

数字1と2が最も一般的な問題です。 (数字2、特に、サーバーが別のエンコーディングを指定しているヘッダーを送信している場合、ブラウザはそのエンコーディングを使用しようとします(メタタグが「utf-8」と表示されても)。

+1

#4としてリストに追加します:テーブルがUTF-8に設定されていることを確認してください。 DBがUTF-8に設定されているが、テーブルが別のものに設定されていることが何度も見られました。 –

0

Try mysql_set_encoding ); すべてのデータベース接続用。

関連する問題