0

我有一个应用程序,用 ejb3、jsf 和 maven 编码,在 jboss 4.2.2GA 上运行

我已经面临 2 天的问题是我无法转换在运行时添加到 url 的非英文字符。例如,有一个搜索文本框和一个按钮。当用户输入一个包含非英文字符的单词并按下按钮时,它会被添加到带有错误字符(如 %56 或 &347 等)的 url。

有什么方法可以实现我在这里尝试做的事情吗?顺便说一句,还有什么方法可以在 jboss 端配置而不是应用程序端(过滤器或 context.xml 等)解决这个问题?

任何帮助将不胜感激 非常感谢, Baris

-- 编辑:我已经通过使用 URLEncoder 解决了这个问题。当我将变量传递给操作方法时,我使用 URLEncoder 将其编码为正确的字符集。

示例: 从 URL 中获取参数: String someString = ServletActionContext.getRequest().getParameter("someStringFromURL"); 编码字符串; 字符串编码 = URLEncoder.encode(someString, "ISO-8859-9");

4

2 回答 2

1

Find the appropriate connector element in your tomcat server.xml (deploy/jboss-web.deployer/server.xml for recent versions) and add the attribute URIEncoding with a value of UTF-8.

于 2010-06-30T22:55:30.430 回答
0

我已经通过使用 URLEncoder 解决了这个问题。当我将变量传递给操作方法时,我使用 URLEncoder 将其编码为正确的字符集。

示例:从 URL 中获取参数:

String someString = ServletActionContext.getRequest().getParameter("someStringFromURL"); 

编码字符串;

String encoded = URLEncoder.encode(someString, "ISO-8859-9");
于 2011-02-24T11:51:42.150 回答