update user_tb set workareas='中国防大学' 
-------------------------------------------------直接在MYSQL中执行是可以成功的. 但是通过jdbc执行时出错了: 
SQL state [HY000]; error code [1366]; Incorrect string value: '\xE8\xAF\xB7\xE9\x80\x89...' for column 'workareas' at row 10; nested exception is java.sql.SQLException: Incorrect string value: '\xE8\xAF\xB7\xE9\x80\x89...' for column 'workareas' at row 10 
-------------------------------- 
show variables like 'character%'; 
结果: 
Variable_name         Value 
character_set_client latin1 
character_set_connection latin1 
character_set_database utf8 
character_set_filesystem binary 
character_set_results latin1 
character_set_server utf8 
character_set_system utf8 
character_sets_dir  D:\Program Files\MySQL\MySQL Server 5.0\share\charsets\ 

解决方案 »

  1.   

    如出现中文乱码,检查如下配置是否正确。
    (1)MySql 数据库是否是utf-8 格式(在安装时选择支持多语言),数据是否正常。
    (2)项目是否为utf-8格式(同时看看的源代码文件中,中文是否乱码)。
    (3)JSP页面是否是utf-8 格式。
    (4)在web.xml 是否配置了编码过滤器。
    (5)数据源配置的url(?useUnicode=true&characterEncoding=UTF-8)。
    如果上面5步都没问题,你就不存在中文乱码问题。