2010-01-25 113 views
4

我试图在亚马逊SQS的消息正文中插入像ä,á,ó,í等字符。但是这些角色会转换为SQS中的其他角色(例如Ã)。有没有办法解决这个问题。亚马逊SQS字符编码问题

感谢

回答

2

感谢您的回复。我认为解决这个问题的最好方法是将消息正文以HTML-ENTITIES格式存储在AmazonSQS中。因此,在存储消息之前,我使用php方法mb_convert_encoding(string $str, string $to_encoding [,mixed $from_encoding])以HTML_ENTITIES格式对其进行了编码。

如果有人有更好的解决方案,请随时添加您的意见。

感谢

+0

使用[Base64](http://php.net/manual/en/function.base64-encode.php) – 2011-02-02 04:02:26

0

尝试 函数utf8_encode

+0

存在试过失败。谢谢 – kobra 2010-01-25 00:40:01

1

这可能是由于在代码中的字符编码问题。有关此主题的强烈推荐文章是Joel的The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)

它看起来像你的字符正在UTF-8编码的地方,相应的UTF-8解码操作没有按照你的预期执行。

+0

我不这么认为,因为当我回应消息字符串时,它看起来没问题。只有在AmazonSQS中进入角色时,角色才会更改。谢谢 – kobra 2010-01-25 00:42:25

+0

将数据“回显”到HTML页面时,您的*浏览器*可能会解码UTF-8编码数据并按照您的预期正确显示数据。在处理编码数据时(现在的规范是这样),总会有很多翻译层面在进行,通常需要进行一些研究才能找出真正发生的事情。 – 2010-01-25 00:56:59

0

我看到这是在onlinemq解决,但仍处于SQS