国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

mysql導入亂碼問題解決辦法

2024-07-24 12:38:08
字體:
來源:轉載
供稿:網友

很多朋友可能會碰到在利用命令或phpmyadmin導入數據時出現中文亂碼問題了,下面我來給大家介紹解決導入亂碼的方法,有需要的朋友可參考.

要想導入時避免不出現亂碼,只要保證數據文件的編碼和導入時甚至的編碼一直即可,注意,不是和數據庫的編碼一致,例如,數據文件data.sql,編碼為UTF-8,使用如下命令:

mysql -uroot -p --default-character-set=utf8 db < data.sql

上面的辦法不一定有效果,因為不知道mysql編碼,我們可以先查看mysql編碼,代碼如下:

  1. mysql> show variables like "%char%"
  2.  
  3. +--------------------------+---------------------------------------------------------------------------------+ 
  4.  
  5. | Variable_name            | Value                                                                           | 
  6.  
  7. +--------------------------+---------------------------------------------------------------------------------+ 
  8.  
  9. | character_set_client     | latin1                                                                          | 
  10.  
  11. | character_set_connection | latin1                                                                          | 
  12.  
  13. | character_set_database   | utf8                                                                            | 
  14.  
  15. | character_set_filesystem | binary                                                                          | 
  16.  
  17. | character_set_results    | latin1                                                                          | 
  18.  
  19. | character_set_server     | utf8                                                                            | 
  20.  
  21. | character_set_system     | utf8                                                                            | 
  22.  
  23. | character_sets_dir       | /usr/local/Percona-Server-5.1.57-rel12.8-233--x86_64/share//charsets/ | 
  24.  
  25. +--------------------------+---------------------------------------------------------------------------------+ 
  26.  
  27. rows in set (0.01 sec) 
  28.  
  29.  
  30.  
  31. mysql> show variables like "%coll%"
  32.  
  33. +----------------------+-------------------+ 
  34.  
  35. | Variable_name        | Value             | 
  36.  
  37. +----------------------+-------------------+ 
  38. --Vevb.com 
  39. | collation_connection | latin1_swedish_ci | 
  40.  
  41. | collation_database   | utf8_bin          | 
  42.  
  43. | collation_server     | utf8_bin          | 
  44.  
  45. +----------------------+-------------------+ 

修改sql文件,代碼如下:

  1. SET collation_connection = utf8_bin; 
  2.  
  3. SET character_set_client = utf8; 
  4.  
  5. SET character_set_connection = utf8; 

再執行導入,代碼如下:

mysql  --socket=/opt/mydata/my3306/my3306.sock -A < xxx.sql 就好了...

還發現一個程序導入亂碼解決辦法,就是在mysql_connect后面加一句SET NAMES UTF8,即可使得UTF8的數據庫消除亂碼,對于GBK的數據庫則使用SET NAMES GBK,代碼如下:

$mysql_mylink = mysql_connect($mysql_host, $mysql_user, $mysql_pass); 

mysql_query("SET NAMES 'GBK'");

數據庫字符集為utf-8,連接語句用這個,代碼如下:

  1. mysql_query("SET NAMES 'UTF8'");  
  2. mysql_query("SET CHARACTER SET UTF8");  
  3. mysql_query("SET CHARACTER_SET_RESULTS=UTF8'"); 
  4. --Vevb.com

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 隆安县| 龙州县| 拉萨市| 固原市| 荥阳市| 满洲里市| 夏河县| 隆昌县| 辛集市| 柘荣县| 松滋市| 嘉善县| 和硕县| 加查县| 尼玛县| 津市市| 新泰市| 鹰潭市| 祁连县| 梨树县| 邯郸县| 烟台市| 宝丰县| 郓城县| 芦山县| 东源县| 遂川县| 新余市| 南平市| 哈尔滨市| 彭泽县| 嘉义市| 临城县| 宁安市| 延寿县| 德化县| 德化县| 武乡县| 唐河县| 句容市| 行唐县|