com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'question' at
今天在遇到这么一个错误:“com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'plan' at row 1”
咋一看是某个字段都字符过长而引起都,其实这一般时候这个错误是由于字符编码都混乱而造成的。
(现在我都服务器端客户端都编码已经统一成为了GBK)
Server characterset: gbk
Db characterset: gbk
Client characterset: gbk
Conn. characterset: gbk
或者,统一的将所有的字符编码都改成utf-8, 包括连接数据库的url和页面的编码都用utf-8 (我的意思是:要统一就都统一,也可都用gbk ,当然如果你要国际化就都要用utf-8)
包括my.ini里面的.而且在建立数据库的时候,也要设定为utf-8
解决办法:
1、 String username = req.getParameter("username");
username = new String(username.getBytes("ISO-8859-1")) ;
所有接收都字符串都做如上都处理。
2、 <%@ page language="java" contentType="text/html; charset=gbk"
pageEncoding="gbk"%>
request.setCharacterEncoding("gbk") ;
response.setCharacterEncoding("gbk") ;
在页面上添加这3句话
转自:http://hi.baidu.com/flyaogogo/item/9741d1defccae24bfa5768f7
修改字段编码为utf8,OK
把mysql 数据库默认编码修改成utf-8:mysql 配置向导 一直下一步,到日文那个就是默认utf8
查看默认编码:mysql administrator->startup variables->advanced ?
浙公网安备 33010602011771号