3

英語の在庫をヨーロッパのさまざまなアマゾン サイトにアップロードしようとしています。私が抱えている問題は、「在庫ファイル」が amazon にアップロードされたときに、特定の異なる言語で見つかったアクセントが正しく表示されないことです。インベントリ ファイルは、タブ区切りのテキスト ファイルです。

現在のセットアップ:

$type = 'text/tab-separated-values; charset=utf-8';
header('Content-Type:'.$type);
header('Content-Disposition: attachment; filename="inventory-'.$_GET['cc'].'.txt');
header('Content-Length: ' . strlen($data));
header('Content-Encoding: UTF-8');

テキスト ファイルが出力されて保存されると、ウィンドウで開いたときとまったく同じように見えます (すべての文字が正しい) が、何らかの理由で、Amazon はそれを UTF8 として認識せず、ここにあるすべての文字で再エンコードします。

http://www.i18nqa.com/debug/utf8-debug.html

ファイルの先頭に BOM を追加しようとしましたが、Amazon でエラーが発生するだけです。他の誰かがこれを経験しましたか?

4

2 に答える 2

1

@fvu がコメントで指摘したように、Amazon はISO-8859-1形式ではなく形式を期待していますUTF-8。そのため、ファイルに書き込むときに PHP のutf8_decodeメソッドを使用する必要があります。

于 2015-11-03T08:51:01.027 に答える
0

わかりましたので、何度も試してみると、文字をデコードする必要があることがわかりました。テキストファイルをExcelで開いたところ、php utf8_decodeを使用してÁ¼のような奇妙な文字としてエンコードされているように見えましたが、テキストファイルが正しい文字として示していたとしても、正しい文字に戻りました...非常に紛らわしいです。

UTF 8 で問題を抱えている人は、まずデコードを試してみてください。

ご協力いただきありがとうございます

于 2013-06-23T15:36:32.570 に答える