gpt4 book ai didi

java - Wicket 搞乱了 Javascript 字符串的编码

转载 作者:行者123 更新时间:2023-12-02 02:08:58 25 4
gpt4 key购买 nike

在使用 JavaScript 的 Wicket 组件上下文中,我将以下字符串发送回 Wicket:

“FICHIERfichier&é'(-è_çà)=~#{[`^@]}^$ù,;!¡£%µ§êë-+¤.0²123456789.pdf”

我必须在 JavaScript 中 escape() this,否则 Wicket 会将 & 符号解释为参数分隔符,并将字符串分成多个参数。

然而,这就是我在 Wicket 口方面得到的结果:

“FICHIERfichier&�'(-�_��)=~#{[`^@]}^$�,;!��%����-�.0�123456789.pdf”

有什么想法吗?我尝试了很多 unescape/decode 方法都无济于事......

非常感谢!

最佳答案

您的应用程序使用的字符编码似乎不支持某些发送的字符。

确保在 Wicket 的 RequestCycleSettings 中使用良好的字符集。默认情况下它是 UTF-8,但您的应用程序可能已更改它。

此外,如果您使用某些旧版本的 Servlet 容器,那么您可能需要在 Wicket Filter 周围使用 Servlet Filter,以设置 HttpServletRequest 上的字符编码。快速谷歌搜索“Servlet 过滤器字符编码”给出了这个很好的例子:https://stackoverflow.com/a/11100412/497381 .

public class CustomCharacterEncodingFilter implements Filter {

public void init(FilterConfig config) throws ServletException {
}

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
chain.doFilter(request, response);
}

public void destroy() {
}

}

关于java - Wicket 搞乱了 Javascript 字符串的编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57339273/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com