使用utf-8编码,java,mysql和表单插入的问题

时间:2013-03-28 14:40:38

标签: java mysql jsp encoding utf-8

我有一个utf-8 mysql DB。

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

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

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

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

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

à è é à ò ù €

在数据库中插入“错误”字符串。

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

当我使用utf-8时,我无法理解我必须改变的内容。

1 个答案:

答案 0 :(得分:3)

首先,DB编码是UTF-8这一事实是不够的,你应该在驱动程序连接中指定编码,方法是将useEncoding=true&characterEncoding=UTF-8附加到JDBC URL

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