ホームページ  >  記事  >  バックエンド開発  >  PHPでエクスポートしたCSVファイル(グラフィック・テキスト)の文字化け問題を解決

PHPでエクスポートしたCSVファイル(グラフィック・テキスト)の文字化け問題を解決

WBOY
WBOYオリジナル
2016-07-25 09:04:24993ブラウズ
CSV ファイルのカンマ区切り値 (カンマ区切り値)。 Mysql から CSV へのデータのエクスポートや SqlServer への CSV のインポートなど、データ変換によく使用される中間ファイルが存在します。

CSVファイル カンマ区切り値。 Mysql から CSV へのデータのエクスポートや SqlServer への CSV のインポートなど、データ変換によく使用される中間ファイルが存在します。

Linux環境では、PHPはMySQLデータベースのテーブルデータを条件に応じてcsvにエクスポートし、UTF-8エンコーディングを使用してCSVファイルを開くと中国語が文字化けします(WindowsのCSVファイルはMicrosoft Excelに関連付けられています)。デフォルトで)、Notepad++ または Word を使用します。正常に開きますが、レイアウトが乱雑です。 理由は「BOM」です。

BOMとは何ですか? バイトオーダーマーク。

Unicode ファイルを認識するために、Microsoft はすべての Unicode ファイルを ZERO WIDTH NOBREAK SPACE 文字で始めることをお勧めします。これは、ファイルで使用されているエンコーディングとバイト順序 (ビッグ エンディアンまたはリトル エンディアン) を識別するための「署名」または「バイト オーダー マーク (BOM)」として機能します。具体的な対応関係を次の表に示します。 PHPでエクスポートしたCSVファイル(グラフィック・テキスト)の文字化け問題を解決 BOM は既存の ASCII ファイル構文規則を破るため、Unix 系システムでは使用されません。

コード: PHPでエクスポートしたCSVファイル(グラフィック・テキスト)の文字化け問題を解決

注: csv ファイルを書き込むときは、PHP ソース コードが utf-8 であり、BOM がなく、何も出力されないことを確認してください。 Web ページ (*.html) には BOM があり、IE6.x で開くと魔法のような空白行が表示されます。この奇妙な現象は Firefox には存在しません。



声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。