1ãä¸æä¹±ç
1.1ãä¸æä¹±ç
create table user(name varchar(11)); # å建user表 insert into table user("carl"); # æ·»å æ°æ® select * from user;123
insert into user value("åå");1
æ æ³æå ¥ä¸æå符ï¼
1.2ãæ¥ç表å符ç¼ç
mysql> show create table user \G;*************************** 1. row *************************** Table: userCreate Table: CREATE TABLE `user` ( `name` varchar(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
1 row in set (0.00 sec)1234567
æ们å¯ä»¥çå°è¡¨çé»è®¤å符éæ¯latin1.
æ以æ们å¨å建表çæ¶åå°±éè¦æå®è¡¨çå符é:
create table user(name varchar(11)) default charset=utf8; 1
è¿æ ·å¨Linuxéé¢å¯ä»¥è®¿é®å¹¶ä¸å¯ä»¥æå ¥ä¸è®¿é®è¿ä¸ªè¡¨äºã
1.3ãæ°æ®åºä¸æä½ç³»ç»ç¼ç
è½ç¶å¨æå¡å¨ç«¯å¯ä»¥æ¾ç¤ºä¸ææ£å¸¸ï¼ä½æ¯å¨å®¢æ·ç«¯å¯è½ä¼æ¾ç¤ºä¹±ç ãå 为æ们çæå¡å¨æ¯UTF8ã
èä¸æ°æ®åºçç¼ç ä¹åå¨é®é¢ã
è¿éæ们å¯ä»¥çcharacter_sert_databaseä¸character_set_serverçå符éé½æ¯latin1.é£ä¹å¨mysqlæ°æ®åºä¸ï¼server,database,tableçå符éé½é»è®¤æ¯latin1.ä¸é¢æ们就æ¥ççå¦ä½è§£å³mysqlä¹±ç æ åµã
2ãmysql设置åéçèå´
2.1ãsessionèå´
æ¥çæ°æ®åºç¼ç ï¼
show variables like '%char%';1
ä¿®æ¹å符ç¼ç ï¼
set character_set_server=utf8;set character_set_database=utf8;show variables like '%char%';123
æ们å¯ä»¥çå°å符éå·²ç»ä¿®æ¹æé½æ¯utf8äºãä½æ¯è¿éæä¸ä¸ªé®é¢ï¼é£å°±æ¯æ们éæ°æå¼ä¸ä¸ªå½ä»¤çªå£ç¶åæ¥çæ°æ®ç¼ç å°±ä¼åºç°ä¸é¢çç»é¢ï¼
2.2ãglobalèå´
mysql设置åéçèå´é»è®¤æ¯sessionèå´ãå¦æ设置å¤ä¸ªä¼è¯çå符éé£ä¹éè¦è®¾ç½®globalèå´:Set [global|session] variables â¦
set global character_set_database=utf8;set global character_set_server=utf8;show variables like '%char%';123
å½æ们跨ä¼è¯æ¥çmysqlå符éé½ä¼çå°é½æ¯utf8ãå¦æä½ ä»¥ä¸ºä¸äºå¤§åäºçè¯ï¼é£ä¹ä½ 就大éç¹éäºã
2.3ã设置æ°æ®å ¨å±èå´
å½æ们æ°æ®åºéå¯çæ¶åï¼ä½ 们åç°è®¾ç½®globalèå´çå¼ååælatin1äºã
service mysqld restart
mysql -uroot -pyourpasswordshow variables like '%char%';123
ä¸è¦æï¼ä¸é¢å°±æä½ ç»æ大æï¼
ä¿®æ¹mysqlé ç½®æ件/etc/my.cnfã
[mysqld]
character-set-server=utf8
[client]default-character-set=utf8
[mysql]default-character-set=utf8123456
请注æè¿å 个åæ°é ç½®çä½ç½®ï¼ä¸ç¶å¯è½ä¼å¯å¨ä¸èµ·æ¥mysqlæå¡ï¼
OKãè¿ä¸å¦æä½ éå¯mysqlæå¡ä¹ä¼åç°å®çå符éæ¯utf8.
èä¸æ们å建表çæ¶åä¸éè¦æå®å符ç¼ç ,å®é»è®¤å°±æ¯utf8;
drop database test;create database test;use test;create table user(name varchar(11));show create table user \G;12345