首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >字符编码Spring

字符编码Spring
EN

Stack Overflow用户
提问于 2015-04-23 08:55:37
回答 2查看 1.3K关注 0票数 4

我与土耳其characters...In我的JSP页面有问题,没有问题.但是,当警报从Java端传来时,土耳其字符(ŞşİığĞüç.)似乎是这样(±,?,圣保罗,§,Å,.)

在JSP页面中,我使用此代码,ı可以解决土耳其字符问题。

代码语言:javascript
复制
<%@ page contentType="text/html;charset=UTF-8" language="java"%>

在Spring配置中,我尝试了很多方法,但没有成功.例如,在我的mvc配置类中,我这样设置了我的MessageSource;

代码语言:javascript
复制
@Bean
public MessageSource messageSource() {
    ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
    messageSource.setBasename("classpath:messages");
    messageSource.setUseCodeAsDefaultMessage(true);
    messageSource.setDefaultEncoding("UTF-8");
    messageSource.setCacheSeconds(0);
    return messageSource;
}

在这个程序中,我尝试重置密码,我输入了注销电子邮件address..Finally,我得到了异常,下面是异常代码博客。

代码语言:javascript
复制
@Autowired
private MessageSource messages;
...

@ExceptionHandler({ UserNotFoundException.class })
public ResponseEntity<Object> handleUserNotFound(final RuntimeException exception, final WebRequest request) {
    logger.error("404 Status Code", exception);
    final GenericResponse bodyOfResponse = new GenericResponse(messages.getMessage("message.userNotFound", null, request.getLocale()), "UserNotFound");
    return handleExceptionInternal(exception, bodyOfResponse, new HttpHeaders(), HttpStatus.NOT_FOUND, request);
}

在我的messages_tr_TR.properties文件中,

代码语言:javascript
复制
...
message.userNotFound=Kullanıcı Bulunamadı
...

但是在JSP页面中,此警报显示为这样;

Kullan±c±Bulunamad±

我怎样才能解决这个问题。

EN

回答 2

Stack Overflow用户

发布于 2015-04-23 09:52:23

注释后续,您也可以在您的响应头中设置编码。如果您要返回json,一个示例是

代码语言:javascript
复制
HttpHeaders responseHeaders = new HttpHeaders();
responseHeaders.add("Content-Type", "application/json; charset=utf-8");
return handleExceptionInternal(exception, responseHeaders, HttpStatus.NOT_FOUND, request);
票数 1
EN

Stack Overflow用户

发布于 2015-04-23 19:07:12

在web.xml中:

代码语言:javascript
复制
<jsp-config>
    <!-- global JSP configuration -->
    <jsp-property-group>
        <url-pattern>*.jsp</url-pattern>
        <page-encoding>UTF-8</page-encoding>
    </jsp-property-group>
</jsp-config>

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

将实际文本放入处理程序方法中(暂时)。现在看上去对吗?您的邮件文件是否正确保存为UTF-8?我也不知道你是不是在用JSON ..。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29818443

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档