0

リモートCSVファイルの内容を読み取り、行を繰り返し、データ項目をデータベースに追加するスクリプトがあります。このファイルには平均で約3000行、したがって3000の製品があります。

いくつかのことを明確にするために:

  • CSVファイルのデータを事前に管理できません
  • このCSVファイルが作成される方法にアクセス/制御することはできません
  • CSVファイルは、MySQLデータベースのデータから1日1回動的に生成されます

問題:

私のスクリプトは約1300行を繰り返すだけで、エラーは発生せず、何も停止しません。すべてのテキストは二重引用符で囲まれており、通常、CSVファイルは正しくフォーマットされているようです。奇妙なことに、CSVファイルをダウンロードしてNotepad ++で開き、エンコーディングをBOMなしのUTF-8に変更し、それをテストサーバーにアップロードして、そのファイルでスクリプトを実行すると、3000個のアイテムがすべて取得されます。結構です。

それで、このファイルを生成する人々はデータをUTF-8として挿入する必要があると思いますか?そのプロセスを制御できないため、BOMエンコードなしでUTF-8をそのファイルに適用する、または少なくともファイルの内容を変数に読み込んで再エンコードする、かなり簡単な方法があるかどうかを知りたいと思います。 ?

どうもありがとう

4

2 に答える 2

1

iconvファイルを処理する前に、php から直接エンコーディングを変更するために使用できます。

編集: iconv の php バージョンを使用してデータを処理できます。ファイルをインポートする前に再エンコードする場合は、linux コマンドiconv (LAMP サーバーを想定) を使用して、たとえばexecを使用する必要があります。

于 2011-04-07T13:42:23.663 に答える
0

他のサーバーから直接これを実行しようとしているようです。ファイル全体を取得して自分のサーバーに保存し、それに対して何らかの操作を行ってから処理を行ってみませんか?

于 2011-04-07T13:37:53.707 に答える