PHPでエクセルをエクスポートすると文字化けする場合の対処法

藏色散人
リリース: 2023-03-07 19:28:02
オリジナル
4216 人が閲覧しました

php が文字化けした Excel ファイルをエクスポートする場合の解決策: 1. PHP ファイルのエンコードを UTF8 に設定し、ヘッダーのエンコードを UTF8 に指定します; 2. データベースのエンコードを UTF8 に設定します; 3. レイアウトにテーブルを使用します。

PHPでエクセルをエクスポートすると文字化けする場合の対処法

おすすめ:「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 は必要ありません)


解決策:

PHP ファイルは UTF- としてエンコードされています。 8、ヘッダー エンコーディングを

$html .= iconv("UTF-8","GBK",$row[$key]).$tab;

header("Content-type: text/html; charset=utf-8")
ログイン後にコピー

として指定します。データベース エンコーディングは UTF-8

    に設定され、レイアウトにテーブルを使用します (ドキュメントをエクスポートする前に追加) BOM)

以上がPHPでエクセルをエクスポートすると文字化けする場合の対処法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート