我在使用土耳其语字符时遇到麻烦…在我的JSP页面中,没有问题……但是,当来自
Java端的警报时,土耳其字符(ŞşİığĞüÜç…)看起来像那样(ı,?,ü ,§,A,…)
在JSP页面中,我使用此代码,ı可以解决土耳其字符问题
<%@ page contentType="text/html;charset=UTF-8" language="java"%>
在Spring MVC配置中,我尝试了很多方法但是我没有成功…例如在我的mvc配置类中,我设置了我的MessageSource;
@Bean
public MessageSource messageSource() {
ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
messageSource.setBasename("classpath:messages");
messageSource.setUseCodeAsDefaultMessage(true);
messageSource.setDefaultEncoding("UTF-8");
messageSource.setCacheSeconds(0);
return messageSource;
}
在这个程序中,我尝试重置密码,我输入了取消注册的电子邮件地址.最后我得到了异常,以下是异常代码博客.
@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文件中,
...
message.userNotFound=Kullanıcı Bulunamadı
...
但是在JSP页面中,这个警报显示出来;
KullanıcıBulunamadı
我怎么解决这个问题..
最佳答案 评论后续,您也可以在响应标题中设置编码.如果你要返回json就是一个例子
HttpHeaders responseHeaders = new HttpHeaders();
responseHeaders.add("Content-Type", "application/json; charset=utf-8");
return handleExceptionInternal(exception, responseHeaders, HttpStatus.NOT_FOUND, request);