ホームページ >バックエンド開発 >PHPの問題 >ExcelをPHPで読み込むと文字化けする問題を解決する方法

ExcelをPHPで読み込むと文字化けする問題を解決する方法

藏色散人
藏色散人オリジナル
2020-09-04 10:10:443651ブラウズ

PHP で Excel を読み込むと文字化けする問題の解決策: 1. 「excel_class.php」クラスファイルを「$s=iconv('utf-16le','utf-8',$exc- > sst['data'][$ind])"; 2. 「uc2html」関数をコメント化します。

ExcelをPHPで読み込むと文字化けする問題を解決する方法

推奨: 「PHP ビデオ チュートリアル

php で Excel の中国語が文字化けする Excel_class...

今日はExcelで中国語が文字化けしてしまうという大問題に遭遇しました!

Excel_class.php は、php が Excel をインポートするためのツールです。Excel から php にデータを簡単にインポートしたり、php を使用して Excel にデータをインポートしたりすることもできます。しかし、今では非常に効果がありません。

たくさんの情報を集めましたが、見つかりませんでした。そこで、Baidu が私たちの最高の先生だと思いました。よし、今から先生を探しに行こう!

案の定、このツールを使って文字化けに対処する方法をBaiduで検索してみました。

最初の方法: Excel_class.php クラス ファイルを変更し、$s = uc2html($exc->sst['data'][$ind]); を見つけて置き換えます。 $ s = iconv('utf-16le','utf-8',$exc->sst['data'][$ind]) の場合、エンコーディングは utf-8.

Ifデータを mysql にインポートする必要があり、mysql エンコードが GB2312 である場合は、データを utf-8 から gb2312 に転送する必要があります。これを行うことができます: $s=iconv(“UTF-8″,”GB2312″, $s )。

2 番目の方法: Excel_class.php を開き、関数 uc2html を見つけ、関数内のコードをコメント アウトし、パラメーターを直接返します。つまり、操作を行わずに関数を変更します。

function uc2html($str) {
return $str;
}

次に、PHP で提供されている関数 mb_convert_encoding を使用して、UTF-16LE を UTF-8 に変換します。

echo mb_convert_encoding($return[Sheet2][0][0], ‘UTF-8′, ‘UTF-16LE’);

表示は正常になります。

概要: テスト中、最初の方法を使用することが推奨されましたが、2 番目の方法では数字が文字化けしてしまいました (理由はわかりません)。

以上がExcelをPHPで読み込むと文字化けする問題を解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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