1

我目前正在从我的 jsp 页面中的一个类中的方法返回一个 utf-8 编码的字符串,但是尽管字符串的大多数字符都可以,但由于所有字母都被编码为 ??

如何解决这个问题?

我有 jsp 页面所需的正确指令,以便将其内容编码为 utf-8

我的字符串的内容是希腊语

4

3 回答 3

3

你用过这个指令<%@page contentType="text/html;charset=UTF-8"%>吗?

这会将您设置content-type为 utf-8 和您的pageEncoding

于 2012-11-14T01:14:12.120 回答
3

我遇到了同样的问题,对我来说,在 web.xml 中添加来自 spring 的 CharacterEncodingFilter 修复了:

<filter>
    <filter-name>SetCharacterEncodingFilter</filter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    <init-param>
        <param-name>encoding</param-name>
        <param-value>UTF8</param-value>
    </init-param>
    <init-param>
        <param-name>forceEncoding</param-name>
        <param-value>true</param-value>
    </init-param>
</filter>
<filter-mapping>
    <filter-name>SetCharacterEncodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

即使你的项目中不使用spring也可以使用(只需下载spring-web-xxx.jar)。

或者您可以创建自己的过滤器来执行此操作:

request.setCharacterEncoding("UTF8");
response.setCharacterEncoding("UTF8");

例如,您可以在 grepcode.com 上找到 org.springframework.web.filter.CharacterEncodingFilter 的源代码,以查看它的确切作用。

于 2012-11-14T18:47:12.623 回答
2

我是如何做到以下几点的:

我正在使用 Eclipse IDE 并将 Window > Preferences > General > Workspace > Text File Encoding 设置为 UTF-8。

在那之后,我所有的编码问题,神奇地消失了!!!!!!

有人可以解释一下吗?

于 2012-11-15T14:31:52.193 回答