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 ?

posted @ 2013-12-24 13:18  losesea  阅读(1115)  评论(0)    收藏  举报