本文主要給大家簡單講講如何編譯安裝MySQL中的字符集,相關專業(yè)術語大家可以上網查查或者找一些相關書籍補充一下,這里就不涉獵了,我們就直奔主題吧,希望如何編譯安裝mysql中的字符集這篇文章可以給大家?guī)硪恍嶋H幫助。
在臨朐等地區(qū),都構建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產品創(chuàng)新能力,以專注、極致的服務理念,為客戶提供網站設計制作、網站設計 網站設計制作按需求定制設計,公司網站建設,企業(yè)網站建設,品牌網站建設,營銷型網站建設,成都外貿網站制作,臨朐網站建設費用合理。
1.編譯安裝的字符集情況
查看字符集的格式 mysql> show create table sanlang \G *************************** 1. row *************************** Table: sanlang Create Table: CREATE TABLE `sanlang` ( `id` int(11) DEFAULT NULL, `name` varchar(10) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 1 row in set (0.00 sec) mysql> 插入數(shù)據 mysql> insert into sanlang values(22,"劉海笑"); Query OK, 1 row affected (0.00 sec) 測試 mysql> select * from sanlang; +------+-----------+ | id | name | +------+-----------+ | 1 | xiaoming | | 2 | xiaoli | | 3 | tt | | 4 | gg | | 22 | testdata | | 22 | 劉海笑 | +------+-----------+ 6 rows in set (0.00 sec) mysql>
更改字符集測試(更改字符集以后可以看出id為22的出現(xiàn)亂碼):
mysql> set names gbk ; Query OK, 0 rows affected (0.00 sec) mysql> select * from sanlang; +------+----------+ | id | name | +------+----------+ | 1 | xiaoming | | 2 | xiaoli | | 3 | tt | | 4 | gg | | 22 | testdata | | 22 | Ц | +------+----------+ 6 rows in set (0.10 sec) mysql>
2.mysql數(shù)據庫常見的字符集介紹
3.MYSQL如何選擇合適的字符集
1.如果處理各種各樣的文字,發(fā)布到不同一眼國家地區(qū),mysql來說UTF-8(每個漢字三個自己),如果應用需要處理英文,僅有少量漢字utf8更好 2.如果只需要支持中文,并且數(shù)據量很大,性能要求也很高,可選GBK(訂場,每個漢字占用雙字節(jié),英文也占雙字節(jié)),如需大量的運算, 比較排序等,定長字符集,更快,性能高 3.處理移動互聯(lián)網業(yè)務,可能需要使用utf8MP4的字符集 4.老師建議:沒有特別的需求,就選擇utf8的字符集
4.查看系統(tǒng)字符集
mysql> show character set ; mysql> show variables like 'character_set%'; +--------------------------+-------------------------------------------+ | Variable_name | Value | +--------------------------+-------------------------------------------+ | character_set_client | utf8 | #客戶端字符集 | character_set_connection | utf8 |#客戶端連接字符集 | character_set_database | utf8 |#數(shù)據庫字符集,配置文件指定或者建表指定 | character_set_filesystem | binary |#文件系統(tǒng)字符集 | character_set_results | utf8 |#返回結果字符集 | character_set_server | utf8 |#云服務器字符集,配置文件指定或建庫建表指定 | character_set_system | utf8 |#系統(tǒng)字符集 | character_sets_dir | /application/mysql-5.5.49/share/charsets/ | +--------------------------+-------------------------------------------+ 8 rows in set (0.00 sec) mysql>
5.set names 控制客戶端的字符集
可以看出set names只是控制了客戶端的字符集
mysql> show variables like 'character_set%'; +--------------------------+-------------------------------------------+ | Variable_name | Value | +--------------------------+-------------------------------------------+ | 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 | /application/mysql-5.5.49/share/charsets/ | +--------------------------+-------------------------------------------+ 8 rows in set (0.00 sec) mysql> set name gbk; mysql> show variables like 'character_set%'; +--------------------------+-------------------------------------------+ | Variable_name | Value | +--------------------------+-------------------------------------------+ | character_set_client | gbk | | character_set_connection | gbk | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | gbk | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | /application/mysql-5.5.49/share/charsets/ | +--------------------------+-------------------------------------------+ 8 rows in set (0.00 sec)
6.客戶端字符集統(tǒng)一
1.客戶端字符集統(tǒng)一 法①set names utf8 法②下面三個命令代替set names(其實就是更改了client的字符集) SET character_set_client = gbk SET character_set_connection = gbk SET character_set_results = gbk 法③登錄的時候指定字符集 [root@oldboy ~]# mysql -uroot -poldboy123 -S /data/3306/mysql.sock --default-character-set=utf8; 法④通過修改my.cnf 實現(xiàn)修改mysl客戶端的字符集,并且永久生效 [client] default-character-set = utf8 #不需要重啟服務,退出登錄就生效 備注:多實例修改客戶端 字符集要修改/etc/my.cnf
7.更改mysql服務端的字符集
按照要求修改my.cnf參數(shù) [mysqld] default-character-set = utf8 #適合5.1以及以前的版本 character-set-server = utf8 #適合5.5
8.創(chuàng)建庫的時候指定字符集
mysql> create database oldboy CHARACTER SET gbk COLLATE gbk_chinese_ci; 說明:建表的時候指定字符集,如果不指定字符集,那么表和庫的字符一樣
9.程序也要統(tǒng)一
程序和庫表的字符集統(tǒng)一
10.系統(tǒng)的字符集
[root@oldboy ~]# cat /etc/sysconfig/i18n LANG="zh_CN.UTF-8"
11.數(shù)據庫中執(zhí)行sql語句的方法
a.sql語句在windows客戶端改成utf8沒有簽名的格式 b.導入數(shù)據指定字符集的格式 mysql -uroot -poldboy123 --default-character-set=utf812.更改庫字符集的思路(庫的表里面已經有數(shù)據了)
說明:有數(shù)據的情況下,對新數(shù)據生效,對老數(shù)據庫不生效 更改庫字符集的思想 1.數(shù)據庫不要更新,導出所有的數(shù)據 2.把導出的數(shù)據進行字符集的替換(替換表和庫) 3.修改my.cnf,更改mysql客戶端的服務端的字符集,重啟生效 4.導入更改過的字符集的數(shù)據,包括表結構語句,提供服務 5.ssh客戶端,以及程序更改為對應的字符集如何編譯安裝mysql中的字符集就先給大家講到這里,對于其它相關問題大家想要了解的可以持續(xù)關注我們的行業(yè)資訊。我們的板塊內容每天都會捕捉一些行業(yè)新聞及專業(yè)知識分享給大家的。
網站欄目:如何編譯安裝mysql中的字符集
網站鏈接:http://weahome.cn/article/gosoog.html