/* generate csv content */
while($res = mysql_fetch_assoc($query)) {
/* If two or more columns of the result have the same field names, the last column will take precedence. */
for($i=0; $i<mysql_num_fields($query);$i++) {
$data = $res[mysql_field_name($query,$i)];
$data = trim( preg_replace( '/\s+/', ' ', $data ) );
echo "\"".$data."\";";
}
echo "\r\n";
}
次のコードは、余分な空白または改行文字を削除し、csv ファイルを生成することを意図しています。私の問題は、一部のワークステーションでは csv ファイルが正しく表示され、他のステーションでは正しく表示されないということです。ただし、すべてのステーションの地域と言語の設定は同じです。
隠しスペースや改行を消去する適切なcsvファイルを生成するために、チェックアウトするか、別のコードを使用する必要があるものは他にありますか?
後で編集
地域と言語の設定オプションに関して、設定に問題があることを発見しました。設定は同じですが、地域オプション > カスタマイズ > 数字 > リスト区切りでは、「;」とは異なるものでした。したがって、これは報告された問題のいくつかを説明しています。
修正は、適切な csv コード ジェネレーターを実装し、ワークステーションの構成を確認することです。