REST API无法正确识别波兰字符?

时间:2011-10-11 13:43:11

标签: rest utf-8

我们在项目中使用Drools Guvnor,我们使用rest api来检索包/资产版本。一切正常,直到我们尝试使用波兰字符,如“ł”。

例如,我们有一个名为'test3'的包和一个名为“wiek na podstawie PESEL - przedział3”的资产(规则)(名称本身并不重要,重要的是这个“ł”在最后一个单词中)。检索整个包的rest xml文件,我们得到一个这样的片段:

<assets>
   http://localhost:8080/drools-guvnor/rest/packages/test3/asset/wiek%20na%20podstawie%20PESEL%20-%20przedział%203
</assets>

根据Guvnor API的特定拼写错误(它应该是/ test3 / 资产,而不是/ test3 / 资产),此链接不起作用 - 浏览器会自动转换为“ł”到UTF-8等效“%C5%82”并抛出一个错误代码,看起来好像REST无法识别此页面(资产名称不正确)。 “s”可以正常工作为“%20”,问题似乎与16b字符有关。

这个问题有解决方法吗?

1 个答案:

答案 0 :(得分:1)

找出一个简单的解决方法。我没有调用{rest-path} / packages / {package-name} / assets / {asset-name}来获取资产信息,而是调用{rest-path} / packages / {package-name} / assets /,获取包中的所有资产。

这不仅是好的,因为它省略了不起作用的http请求,但它也避免了多个请求,在我们的例子中有助于证明应用程序遇到竞争条件问题(当我们检索所有资产版本信息时请求有人在Guvnor中重建包的时间间隔。)