fopenで読むために開いたtxtファイルがあります。次に、を使用して画面上の行をエコーしようとします
<xmp>... contents ... </xmp>
行の1つは次のようになります。
"aut\xf3k\xf6lcs\xf6nz\xe9s budapest kauci\xf3 n\xe9lk\xfcl"
誰かがこれを正しくデコードする方法を教えてもらえますか?
#!/usr/bin/php -q
<?php
$read_handle = fopen("somefile.txt", "r");
$write_handle = fopen("write.csv", "w");
if ($read_handle) {
while (($buffer = fgets($read_handle, 4096)) !== false) {
// Some modifications to the buffer here, converting it to CSV format
@fwrite($write_handle, $buffer."\n");
}
}
if (!feof($read_handle)) {
echo "Error: unexpected fgets() fail\n";
}
@fclose($read_handle);
@fclose($write_handle);
}
?>
このスクリプトはコマンドラインで実行され、結果のCSVを「テール」すると、上記のエンコードが表示されます。CSVをMySQLにインポートすると、同じ結果が表示されます。OpenOfficeでCSVを開くときのSimilair。
txtファイルは、次のコマンドを使用したGoogleBigQueryからのエクスポートです。
bq -q --format=pretty query "SELECT QUERY HERE" > somefile.txt
BigQueryコマンドラインツールにCSVファイルを直接出力させないのはなぜかと思うかもしれませんが、これは、このエンコーディングにも関係するシステムのバグを引き起こすためです...