java - utf-8 编码、java、mysql 和表单插入问题

标签 java mysql jsp encoding utf-8

<分区>

我有一个 utf-8 mysql 数据库。

在我的 jsp 文件中,我使用:

 <%@ page pageEncoding="UTF-8"%>
 ...
 <meta http-equiv="content-type" content="text/html; charset=utf-8" />

我的浏览器编码是 UTF-8。

在表单中,我有一个输入文本。

当我提交表单时,如果输入文本的值包含,例如:

à è é à ò ù €

它在数据库中插入了一个“错误”的字符串。

提交后,如果我打印输入文本内容已经包含“奇怪”的字符。

当我在任何地方使用 utf-8 时,我都无法理解我必须更改的内容。

最佳答案

首先,DB 编码是 UTF-8 是不够的,您还应该通过将 useEncoding=true&characterEncoding=UTF-8 附加到 JDBC URL < 来在驱动程序连接处指定编码

其次,页面编码不会影响浏览器对文本进行编码的方式。您还应该注意请求级别的编码:request.setCharacterEncoding("UTF-8")

关于java - utf-8 编码、java、mysql 和表单插入问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15684717/

相关文章:

java - 是否可以声明一个全局变量,以便可以在 JSP 中的每个类中使用它?

mysql错误: Can't create a new thread (errno 11)

java - Struts 2 - HTTP 状态 404 - 没有为操作定义结果

javascript - 如何在 JavaScript 中解析 JSON 数组

java - 如何重新映射某些键?

mysql - 错误代码 : 1054. 'where clause' 中的未知列

mysql - 使用触发器更新另一个数据库中的表

java - 文件中的 JUnit 测试

Java白盒测试

java - 如何使运行 Arquillian 功能测试的 maven-failsafe-plugin 知道堆栈跟踪中的 EJB 行号