[英]Websphere query string encoding issue
Have an URL with non-latin symbols in query params: http://localhost:9080/proxy-octopus/oct2c/!adm_v2_Common.DialogForm?func=FiltrProc&title=Поиск процедур по набору атрибутов在查询参数中有一个带有非拉丁符号的 URL: http://localhost:9080/proxy-octopus/oct2c/!adm_v2_Common.DialogForm?func=FiltrProc&title=Поиск процедур по набору атрибутов
Changed url encoding for WAS to Windows-1251: client.encoding.override set to Windows-1251将 WAS 的 url 编码更改为 Windows-1251:client.encoding.override 设置为 Windows-1251
Query parameters are got good.查询参数得到了很好的。 Next code returns valid value: "Поиск процедур по набору атрибутов".
下一个代码返回有效值:“Поиск процедур по набору атрибутов”。
request.getParameter("title")
But for next code I've got valid value: "func=FiltrProc&title=Ïîèñê%20ïðîöåäóð%20ïî%20íàáîðó%20àòðèáóòîâ".但是对于下一个代码,我得到了有效值:“func=FiltrProc&title=Ïîèñê%20ïðîöåäóð%20ïî%20íàáîðó%20àòðèáóòîâ”。
request.getQueryString()
Also I can receive real value ("func=FiltrProc&title=Поиск%20процедур%20по%20набору%20атрибутов") by next way:我也可以通过以下方式获得实际价值(“func=FiltrProc&title=Поиск%20процедур%20по%20набору%20атрибутов”):
new String(request.getQueryString().getBytes(Charsets.ISO_8859_1),"Windows-1251")
What I must do to receive valid value on request.getQueryString()?我必须做什么才能在 request.getQueryString() 上接收有效值?
For internationalization it is more reliable to use UTF-8 encoding.对于国际化,使用 UTF-8 编码更可靠。
So, try to change client.encoding.override to UTF-8.因此,尝试将 client.encoding.override 更改为 UTF-8。
Also, check if your title parameter is properly url-encoded.此外,请检查您的标题参数是否正确进行了 url 编码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.