MySQL支持UTF8编码全攻略

  来源:网海拾贝




最近看到良多若干关于MySql支持utf-8编码的成绩,恰好自身也要用,去找了一下,没有写的很片面的。
清算了一下,供各人参考。

在一下效能器设置测试议决
效能器设置:
    window2000
    Tomcat 4.1,5.19
    Mysql 4.1, 5.0
    Java语言,JDK1.4.2
    数据库驱动mysql-connector-java-3.0.10-stable-bin.jar
    Struts1.1
   
最先前先看提醒
MySQL数据库的4.1是一个分水岭,4.1间接支持Unicode,以下版本支持的不好;

MySQL JDBC Driver的3.0.16也是一个分水岭,3.0.16版本会取数据库自身的编码,然后依照该编码转换,这种编制和Oracle的JDBC Driver是一样的。例如你的数据库是GBK编码的话,JDBC Driver就会把数据库外面的掏出来的字符串依照GBK往unicode转换,送给JVM。是以精确的设置数据库自身的编码就尤为严重。

MySQL JDBC Driver3.0.16以下的版本则否则,它不会那么智能的依照数据库编码来确定如何转换,它总是默许运用ISO8859-1,是以你必须运用 characterEncoding=GBK来欺压他把数据库中掏出来的字符串依照GBK交游unicode转换。

是以,运用什么数据库版本,不管是3.x,还是4.0.x还是4.1.x,实在对我们来说不严重,严重的有二:

1) 精确的设定数据库编码,MySQL4.0以下版本的字符集总是默许ISO8859-1,MySQL4.1在安设的时分会让你选择。假定你准备运用UTF- 8,那么在竖立数据库的时分就要指定好UTF-8(竖立好从此也可以改,4.1以上版本还可以独自指定表的字符集)

2) 运用3.0.16以上版本的JDBC Driver,那么你就不必要再写什么characterEncoding=UTF-8

最先设置:
1.翻开WinMysqlAdmin管理器,选择my.ini设置项,在[mysql]段列入一下代码
  default-character-set=utf8
  设置后重新启动MySQL效能。
  再翻开 WinMysqlAdmin管理器,选择Variables项,查看一下变量的值可否如下
  character_set_server  = utf8
  character_set_system  = utf8
  character_set_database  = utf8
  character_set_client  = utf8
  character_set_connection  = utf8
  character_set_results = utf8
 
  collation_connection = utf8_general_ci
  collation_database = utf8_general_ci
  collation_server = utf8_general_ci
 
  假定不克不及重启Mysql效能,则能够拼写错误,反省一下
  以上变量的值都合适,祝贺你,设置乐成

2.Java中挪用数据库跟尾编制如下
  jdbc:mysql://192.168.1.87/mytest?useUnicode=true&characterEncoding=utf8
 
  假定驱动运用3.0.16以上版本的JDBC Driver,那么你就不必要再写什么characterEncoding=UTF-8
 
3.在页面提交数据处置请看 "中文成绩","struts国际化成绩"——最终解决方案 一文,极度明晰

4.完成以上三步,你的细碎就可以运转与UTF-8编码情形了。





版权声明: 原创作品,应许转载,转载时请务必以超链接方式标明文章 原始来由 、作者信息和本声明。否则将深究规律责任。

原文地址:https://www.cnblogs.com/zgqjymx/p/1976008.html