php が文字化けした Excel ファイルをエクスポートする場合の解決策: 1. PHP ファイルのエンコードを UTF8 に設定し、ヘッダーのエンコードを UTF8 に指定します; 2. データベースのエンコードを UTF8 に設定します; 3. レイアウトにテーブルを使用します。
おすすめ:「PHP ビデオチュートリアル 」
の動作環境このチュートリアル: Windows7 システム、PHP5.6 バージョン、この方法はすべてのブランドのコンピューターに適しています。
PHP を使用して Excel にエクスポートした文字化けの問題を CVS を使用して解決する
PHP を使用して CVS を生成した後ファイルを Excel で開き、中国語を見つけます。すべてが文字化けになりました。ローカルの win08 では WPS 経由で正常でしたが、サーバー Linux にアップロードしてサーバーでテストすると、文字化けが発生しました。
最初は Linux の問題だったのですが、その後テストしてみたところ、WPS の問題であることがわかりました (WPS がエンコードを処理しているのではないかと推測し、サーバー上の Excel から開くことも問題でした)文字化け)
#私の PHP ファイルとデータベースのエンコーディングはすべて UTF-8 形式であり、テキスト エディタで開いたエンコーディングも UTF-8# であるためです。
PHP コード
#エクスポートされた CVS ドキュメントをテキスト エディタで開いても文字化けはありません
Excel で開いても文字化けはありません
多くの人がインターネットでは、データベースのデータを UTF-8 から GBK に変換するか、ヘッダーでエンコーディングを指定するように言われています。どちらの方法も試しましたが、まだ役に立ちません。 ##そこで、この記事では、文書をエクスポートする前に BOM を追加すれば解決することがわかりました。PHP で CSV ファイルをエクスポートし、Excel で開くと、中国語の文字化けが表示されます (https:// xinpure.com/ php-export-csv-file-opened-by-excel-Appear-garbled/)
ただし、BOM の後に、各行のセルが 1 つにマージされます (\t) ただし、Table を使用して改行の問題を解決しましたが、予期せず Table を使用すると文字化けしたコードの問題が解決したことがわかりました (BOM は必要ありません)
解決策:
$html .= iconv("UTF-8","GBK",$row[$key]).$tab; header("Content-type: text/html; charset=utf-8")
以上がPHPでエクセルをエクスポートすると文字化けする場合の対処法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。