我在Amazon SQS和Zend(1.11.2)中遇到了一个相当令人困惑的问题。我将消息发送到队列中,我已经设置了剪断,它看起来像这样:亚马逊SQS消息中的消息字符编码问题
$sqs->send($queueURL, "opt1=foo opt2=bar");
的消息出现在该应用程序较远的一侧,并被视为:
"opt1%3Dfoo+opt2%3Dbar"
接收应用程序使用com.xerox.amazonws.sqs2库以Java编写,现在正在生产中。
在Drupal中使用Tarzan的旧版php模块中有类似的发送代码,它工作得很好。我已经搜索了很高,并阅读Zend,亚马逊和Java库的文档,我被卡住了。
字符串的编码是可以理解的,但我不认识正在使用的方法。进一步的测试表明,单引号,尖括号等也会以十六进制格式转义。
任何想法?
肯
更多信息。 Zend正在编码出站邮件和urldecoding入站邮件。从我所看到的Java Typica库不会执行urldecode中看来。它似乎也是Tarzan PHP库也没有进行ulrencoding。我必须忽略互操作性如何与这些库一起工作。 – Ken 2011-02-18 15:52:48