ホームページ  >  記事  >  バックエンド開発  >  PHP Spreadsheet_Excel_Reader で Excel 中国語をインポートすると文字化けが表示される_PHP チュートリアル

PHP Spreadsheet_Excel_Reader で Excel 中国語をインポートすると文字化けが表示される_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:57:191156ブラウズ

この記事では、PHP Spreadsheet_Excel_Reader で Excel を中国語にインポートすると文字化けして .xlsx 形式のファイルが読み込めない問題の解決方法を紹介しますので、このような問題に遭遇した学生は参考にしてください。

Spreadsheet_Excel_Reader は、Excel ファイルをインポートするために一般的に使用される PHP クラスです。
通常の状況では、このクラスを使用して Excel をインポートするコードは次のとおりです

コードは次のとおりです コードをコピー

// システム公開ファイルを導入します。
require_once ('../global.php');
//Excel読み取り関数クラスを紹介します
require_once ('./excel/reader.php');
//インスタンス化
$data = 新しいスプレッドシート_Excel_Reader();
//出力タイプを設定します (「GBK」または「UTF-8」にすることができます)。データベースに挿入するときはエンコード変換に注意してください
$data->setOutputEncoding('CP936');
// Excel ファイルのアドレスを読み取ります
$data->read('20110630_ctms.xls');
//単一または複数の出力シート配列を印刷します
print_r($data->sheets);
エコー '
';
//各シートの行数を出力します。$k はゼロから始まります
$k = 0;
echo $data->sheets[$k]['numRows'];

このクラスを使用すると、次の問題が発生しました。

1. .xlsx 形式のファイルを読み取ることができません。

.xlsx 形式のファイルは直接読み取ることができません。解決するには、ファイルを開いて .xls ファイルとして保存します。
注: 「Microsoft Excel 5.0/95 ワークブック (*.xls)」を選択してください。こちらの方が使いやすいです。
「Excel 97-2003 ブック(*.xls)」も可能ですが、読み込んだデータが消失するなどの問題が発生する場合があります。

2. エンコードの問題。漢字が文字化けして表示されます。

$data->setOutputEncoding(‘CP936’); は出力エンコーディングを設定するために使用されますが、希望するエンコーディングを自由に出力することはできません。 gbk または utf-8 に変更してから、iconv で変換してみてください。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/632103.html技術記事この記事では、PHP Spreadsheet_Excel_Reader で Excel を中国語にインポートすると文字化けして .xlsx 形式のファイルが読み込めない問題の解決方法を紹介します。このような問題に遭遇した学生は参考にしてください。 ...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。