UTF-8 编码与 Spring Boot 1.1.1

langtianya 阅读:14 2024-02-27 23:08:18 评论:0

我如何“说”Spring Boot 使用 UTF-8 编码,以正确显示和保存德语变音符号?
我们正在使用 Sping-Boot 1.1.1 (Release) 和作为网络服务器的 TomCat7 或 Jetty 来编程 Java-Web 应用程序。数据库是 postgresql 或 h2 用于测试。

编辑:

我用属性文件尝试过(感谢您的回答),但没有看到任何更改。

数据库也是UTF-8...
尤其是问题来了,当我们向 Web 服务器发送 POST 请求时。
Spring-Request-Handler 已经获得了损坏的编码值。
在下面您可以看到部分代码:
(它显示了 Thymeleaf 模板的片段)

<form accept-charset="utf-8" method="post"> 
        <div class="row"> 
            <fieldset th:object="${model}"> 
                <!-- CSRF token --> 
                <th:block th:replace="makros :: csrf" /> 
                <div class="col-sm-4 form-group" > 
                    <label for="firstname" th:text="#{edit_user.first_name}">Given Name</label> 
                    <input class="form-control required" type="text" required="required" id="firstname" name="firstname" th:field="*{firstName}" /> 
                </div> 
                <div class="col-sm-4 form-group"> 
                    <label for="firstname" th:text="#{edit_user.last_name}">Family Name</label> 
                    <input class="form-control required" type="text" required="required" id="lastname" name="lastname" th:field="*{lastName}" /> 
                </div> 
            </fieldset> 
        </div> 
 </form> 

这是它的请求处理程序:
@RequestMapping(method = RequestMethod.POST) 
public String handleUserUpdate(@ModelAttribute(MODEL) UpdateUserCommand command) { 
   //here we cut the broken encoded values 
} 

你好
斯特夫

请您参考如下方法:

这有助于:

spring.datasource.url=jdbc:mysql://localhost:3306/securitydb?useUnicode=yes&characterEncoding=UTF-8 


标签:Spring
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号