MySQL 编码字符集   

   mysql 应用分为以下五种编码级别:

  1.   连接级          
  2.        服务器级       
  3.   数据库级        
  4.   表级              
  5.   字段级          

 

  Java JDBC 连接 MySQL   

  Java 字符集   ==必须相等(比如UTF8)==  Mysql 字符集

 

  MySQL  与 网络传输(必须使用ISO8859-1字符集传递)   

       mysql 服务器   <---------通过latin1(ISO8859-1)------------>    mysql 客户端 

  mysql client 与 mysql server 也是通过字符集ISO8859-1传递

 

 

附言:

  mysql 所有的字符集(编码)设置,均可以通过常量来设置

  有以下几种设置的办法:

  

my.ini  

#  (mysql 应用级设置最高)

mysql 配置文件中设置以下

mysql 常量设置  mysql 连接级编码

[client]
default-character-set=utf8
port=3306

 

show variables 'collation_%' #查看

常量名              排序规则

collation_connection                  utf8_general_ci
collation_database                    utf8_general_ci
collation_server                        utf8_general_ci

 

[mysql]

default-character-set=utf8

show variables 'char%'  # 查看

常量名                    字符集

character_set_client                        utf8
character_set_connection                utf8
character_set_database                  utf8
character_set_filesystem                 binary
character_set_results                     utf8
character_set_server                      utf8
character_set_system                     utf8
character_sets_dir                          

D:\MySQL\MySQL-Server-5.1\share\charsets\

 

[mysqld]
character-set-server=utf8

 #设置或查看 局部变量  字符集  表示

set names utf8;


SET character_set_client='utf8';
SET character_set_connection='utf8';
SET character_set_server='utf8';
set character_set_results='utf8'
set character_set_database='utf8'

 

 

 
 

 查看表级或数据库((字符集及排序规则)):

show create table table_name

show create database database_name

设置表级或数据库((字符集及排序规则)):

 

ALTER DATABASE `database_name`  

DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

 

ALTER TABLE `table_name`

DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

 
 

 设置表字段(字符集及排序规则)

ALTER TABLE users

change old_column_name

new_column_name/old_column_name  VARCHAR(100) CHARACTER SET utf8 COLLATE

utf8_general_ci;

 
   

-- 创建数据库时指定utf8编码:
-- //建数据库
CREATE DATABASE `test`
CHARACTER SET 'utf8'
COLLATE 'utf8_general_ci';

 
   数据表时指定utf8编码:

CREATE TABLE `usr` (
`uid` int(11) NOT NULL AUTO_INCREMENT,
`uname` varchar(10) NOT NULL,
`upasswd` varchar(10) NOT NULL,
PRIMARY KEY (`uid`)
) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8;