上传Amazon Inventory UTF 8编码

时间:2013-06-21 22:25:18

标签: encoding utf-8 amazon uploading inventory

我正在尝试将我的英文广告资源上传到各种欧洲亚马逊网站。我遇到的问题是,当“库存文件”上传到亚马逊时,某些不同语言中的重音符号无法正确显示。清单文件是制表符分隔的文本文件。

当前设置:

$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添加到文件顶部,但这只会导致亚马逊出错。还有其他人经历过这个吗?

2 个答案:

答案 0 :(得分:1)

正如@fvu在评论中指出的那样,亚马逊期待的是ISO-8859-1格式,而不是UTF-8。这就是为什么在写入文件时应该使用PHP的utf8_decode方法。

答案 1 :(得分:0)

好的,经过大量尝试后发现需要解码的角色。我在excel中打开了文本文件,他们似乎将自己编码为奇怪的字符,例如使用php utf8_decode将它们变回正确的字符即使文本文件显示为正确的字符......也非常令人困惑。

对于有UTF 8困难的人,请先尝试解码。

感谢您的帮助