0

次の形式のコンテンツを含む csv ファイルがあります。

INN code;Tekst;User id;Project_id;priority;Date
6658172497;мини тестик, выполни ,и закрой задание;255;1;4;2012-12-22    
6658228284;мини тестик, выполни и закрой задание;255;1;4;2012-12-22    
7806351504;мини тестик, выполни и закрой задание;255;1;4;2012-12-22    
7710077498;мини тестик, выполни ,и закрой задание;255;1;4;2012-12-22

私のローカル Windows マシン (php バージョン 5.4.7) では、str_getcsv($row, ';')正常に動作し、行を正しく分割します。しかし、CentOS (php ver 5.3.3) を実行しているテスト マシンで同じことを試してみると、2 番目の列 ( мини тестик) の一部が切り取られ、( ,выполни ,и закрой задание) だけが残ります。列データの前にラテン文字を配置すると、文字の前の部分だけが切り取られます。

異なるOSでのこの奇妙な動作を説明する助けが見つかりません

4

2 に答える 2

1

CSV 関数は、設定されたロケールに敏感です。ファイルのエンコーディングに一致する
ようにロケールを設定します。

于 2012-12-20T15:10:42.737 に答える
0

試しましたsetlocale()か?

また、テキスト内のスペースとコンマが原因である可能性があると思います。ロシア語の部分を二重引用符で囲むか、これを試してください。

それがうまくいくことを願っています。

于 2012-12-20T15:12:34.813 に答える