0

SQLServerデータベースの抽出を行っています。

私のプログラムの始めに、私は持っています:

ini_set('mssql.charset','cp1250');

私のデータベース呼び出しは特別なことは何もしません。

私は次のメソッドのみを呼び出します。

mssql_connect, mssql_select_db, mssql_query, mssql_fetch_object, 
mssql_next_result and mssql_close.

エクスポートの出力を画面に印刷すると、すべての文字が正常に表示されます。fputcsv()csvファイルにエクスポートすると、大量の<92>文字と<93>文字が表示されます(これは、ターミナルを使用して読み取る場合の外観です)。Excelを使用してファイルを開くと、「」、「」、「」のように表示されます。

これは大きな問題を引き起こしています。あなたはなにか考えはありますか?

4

2 に答える 2

1

エンコーディングをutf8に変換してみてください

iconv('cp1250', 'utf-8', $text);

これも印刷してください:

var_dump(iconv_get_encoding('all'));
于 2012-05-30T16:58:14.933 に答える
0

おかげで、問題はエンコーディングにあるのではなく、私のfputcsv()呼び出しが実際に区切り文字を指定していなかったという事実にあることがわかりました。デリムには「\t」を選択しましたが、すべてが完璧に機能しました。

于 2012-05-30T18:23:34.427 に答える