PHP で Excel を読み込むと文字化けする問題の解決策: 1. 「excel_class.php」クラスファイルを「$s=iconv('utf-16le','utf-8',$exc- > sst['data'][$ind])"; 2. 「uc2html」関数をコメント化します。
推奨: 「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 サイトの他の関連記事を参照してください。