ホームページ  >  記事  >  バックエンド開発  >  PHP 処理 CSV---中国語の例外

PHP 処理 CSV---中国語の例外

WBOY
WBOYオリジナル
2016-08-08 09:25:511166ブラウズ

昨日、CSVファイルを処理するための小さなプログラムをPHPを使って書きました。ローカルサーバーと21サーバーの両方で正常に処理されました

しかし、夜にそれを238サーバーに置いた後、プログラムが異常に処理していることがわかりました。そして一部のデータが欠落していました。

例外を処理した後、欠落しているデータはすべて中国語であることが判明しました。

最初は、ファイルまたは文字列のエンコードの問題だと思いました

notepad++を使用してCSVファイルをutf-8に変換した後も、問題は依然として存在します

その後、

<span style="font-size:14px;">$date = mb_detect_encoding($content , array('UTF-8','GBK','LATIN1','BIG5')) ;  
		$content = iconv($date, "utf-8", $content);</span>
はまだ失敗しました問題を解決するために

その後、Baidu を少し実行して

したところ、CSV ファイルを処理する前にコード行を追加することがわかりました: setlocale(LC_ALL,NULL)

setlocale() 関数は地域情報を設定します(地域情報)。

地域情報とは、地理的エリアの言語、通貨、時間、その他の情報です。

この関数は現在のロケール設定を返します。失敗した場合は false を返します。

注: setlocale() 関数は、現在のスクリプトの地域情報のみを変更します。

ヒント: setlocale(LC_ALL,NULL) を使用して、地域情報をシステムのデフォルトとして設定できます。

将来そのような問題を避けるために、ここに記録してください


上記は、PHP による CSV ---中国語の例外の処理を、関連する内容も含めて紹介しています。PHP チュートリアルに興味のある友人にとって役立つことを願っています。

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