PHPを使用したCSVファイルのいくつかのキーワードと比較する必要があるいくつかの中国語のキーワードを持つmysqlデータベースがあります。MySQL、PHP、およびCSVファイルのエンコーディング
エンコードに問題があるようですが、私が知っている2つのキーワードを比較すると、同じ(漢字で)わかっていますが、スクリプトには違いがあります。
データベースのスクリプトの冒頭に「SET NAMES utf8」を使用します。 テーブルのキーワードフィールドの照合順序はutf8_binです。私も
mb_internal_encoding("UTF-8");
header('Content-Type: text/xml, charset=UTF-8; encoding=UTF-8');
を使用するスクリプトの
私はCSVが
$data = fgetcsv($handle, 1000, ",")) !== FALSE
でファイルを読み、私の比較ラインは私が持っているCSVファイルについては、この
$database_keyword == CSV_keyword
のようなものですnotepad ++を使用してエンコードを変更しようとしましたが、まだ動作していません。
ありがとうございます。
編集:それはそこに誰かを助けるかもしれない 溶液を添加し、私は私の問題は、CSVファイルから文字列に含まれているBOMによって引き起こされたことが判明:私は
のWindows 7上でEDITしています。 私はこの機能
private function rmBOM($string) {
if(substr($string, 0,3) == pack('CCC',0xef,0xbb,0xbf)) {
$string=substr($string, 3);
}
return $string;
}
ありがとう、私はそれを試みます。 – Jon