ホームページ >バックエンド開発 >PHPチュートリアル >phpでエクセルをエクスポートして文字化け問題を解決する方法を紹介

phpでエクセルをエクスポートして文字化け問題を解決する方法を紹介

WBOY
WBOYオリジナル
2016-07-25 08:58:571177ブラウズ
  1. header("Content-type:application/vnd.ms-excel");
  2. header("Content-Disposition:attachment;filename=export_data.xls");
  3. echo "名前" ."t";
  4. echo "従来型"."t";
  5. echo "ブログ"."t";
  6. echo "n";
  7. echo "ジェイソン"."t";
  8. echo "@"."t" ;
  9. echo "javaeye"."t";
  10. ?>
コードをコピー

ヘッダーに文字セットを追加することを検討してください header("Content-type:application/vnd.ms-excel;charset=UTF-8");

質問: これは、表示するためにどの文字セットを選択するかをブラウザーに伝えるだけです。最終的に、私の要件は xls ファイルを生成することです。 友人の中には、iconv を使用してトランスコードすることを提案する人もいます。

  1. echo iconv("現在のエンコーディング","GB18030","このブログは、jason による javaeye から来ています");
コードをコピー

質問: このように、ファイルは GB18030 ですが、Excel はそれを開くために使用するエンコーディングをどのように判断するのでしょうか? しかし、従来の BIG5 に遭遇したときにこれを実行すると、コードは依然として文字化けします。

最後に、phpMyAdmin のアプローチを採用し、HTMLExcel を使用します。

  1. xmlns:x="urn:schemas-microsoft-com:office:excel"
  2. xmlns="http: //www.w3.org/TR/REC-html40">
  3. < ;td class=xl2216681 nowrap>ロビンは唾を吐きます
  4. 1234
    5678javaeye ウェブサイト< /td> ;
  • コードをコピー

    このようにして、直接エコーできます。 HTML の Content-type が設定されている限り (ここでは UTF-8 が使用されています)、iconv トランスコーディングは必要ありません。もちろんヘッダーを追加する必要があります。

    1. header("Content-type:application/vnd.ms-excel");
    2. header("Content-Disposition:attachment;filename=export_data.xls");
    コードをコピーします

    以上です。興味のある方は、今すぐテストして、中国語のコンテンツを Excel にエクスポートするときに文字化けの問題が発生しないかどうかを確認してください。 !



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