この記事では、csv ファイルを mysql データベースにインポートする fgetcsv 関数を詳しく紹介します。同時に、中国語の文字化けの解決策も参照できます。
Excel データの大規模なバッチを mysql データベースに処理する場合、文字化けが発生した場合は、PHP に付属の fgetcsv 関数を使用して、まず csv ファイルからデータを 1 行ずつ取得し、それを SQL ステートメントでデータベースにインポートします。 、iconv 関数を使用してトランスコードできます。
コード例:
コードは次のとおりです | コードをコピー |
$row = 1; 行 $row には $num 個のフィールドがあります。 |
mysqlインポート時の中国語文字化け
一般的なオンライン方法を使用して csv ファイルの内容を読み取って mysql データベースにアップロードすると、iconv 関数を使用してデータをトランスコードした後でも文字化けが発生します。 setlocale() 関数を使用できます:
この関数は、CSV データの読み取りと書き込みを行う前に、この関数を使用して定義します。たとえば、CSV ファイルが BOM なしの UTF-8 形式である場合は、次の関数を使用して定義します。
コードをコピー | |
setlocale(LC_ALL, 'zh_CN.UTF8');
|