我正在尝试将我的英文库存上传到各个欧洲亚马逊网站。我遇到的问题是,当“库存文件”上传到亚马逊时,某些不同语言的口音显示不正确。 list 文件是制表符分隔的文本文件。
当前设置:
$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');
当文本文件被输出并保存时,它看起来就像在 Windows 中打开时的样子(所有字符都是正确的)但出于某种原因亚马逊不认为它是 UTF8 并用所有字符重新编码它在这里找到:
http://www.i18nqa.com/debug/utf8-debug.html
我曾尝试将 BOM 添加到文件顶部,但这只会导致亚马逊给出错误。有没有其他人遇到过这种情况?
最佳答案
正如@fvu 在他的评论中指出的那样,Amazon 期望使用ISO-8859-1
格式,而不是UTF-8
。这就是为什么您应该使用 PHP 的 utf8_decode写入文件时的方法。
关于encoding - 上传亚马逊库存 UTF 8 编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17245206/