日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

mysql utf8 乱码_MySql UTF8乱码问题应这样修改

發(fā)布時(shí)間:2025/4/5 数据库 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql utf8 乱码_MySql UTF8乱码问题应这样修改 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

我們遵循的標(biāo)準(zhǔn)是,數(shù)據(jù)庫(kù),表,字段和頁(yè)面或文本的編碼要統(tǒng)一起來(lái)

我們可以通過(guò)命令查看數(shù)據(jù)庫(kù)當(dāng)前編碼:

mysql> SHOW VARIABLES LIKE 'character%';

發(fā)現(xiàn)很多對(duì)應(yīng)的都是 latin1,我們的目標(biāo)就是在下次使用此命令時(shí)latin1能被UTF8取代。

第一階段:

mysql設(shè)置編碼命令

SET character_set_client = utf8;

SET character_set_connection = utf8;

SET character_set_database = utf8;

SET character_set_results = utf8;

SET character_set_server = utf8;

然后 mysql> SHOW VARIABLES LIKE 'character%'; 你可以看到全變?yōu)?utf8 。

但是,這只是一種假象

此種方式只在當(dāng)前狀態(tài)下有效,當(dāng)重啟數(shù)據(jù)庫(kù)服務(wù)后失效。

所以如果想要不出現(xiàn)亂碼只有修改my.ini文件,

從my.ini下手(標(biāo)簽下沒(méi)有的添加,有的修改)

[client]

default-character-set=utf8

[mysql]

default-character-set=utf8

[mysqld]

default-character-set=utf8

以上3個(gè)section都要加default-character-set=utf8,平時(shí)我們可能只加了mysqld一項(xiàng)。

然后重啟mysql,執(zhí)行

mysql> SHOW VARIABLES LIKE 'character%';

確保所有的Value項(xiàng)都是utf8即可。

但是可惡的事情又來(lái)了,

|character_set_client | utf8 |

| character_set_connection | utf8 |

| character_set_database | utf8 |

| character_set_filesystem | binary |

| character_set_results | utf8 |

| character_set_server | latin1 |

| character_set_system | utf8

注意 該配置| character_set_server | latin1 無(wú)法設(shè)置成UTF8 交互時(shí)候仍然會(huì)出現(xiàn)亂碼。

第二階段:找到下面這東東

X:%path%MySQLMySQL Server 5.0binMySQLInstanceConfig.exe

重新啟動(dòng)設(shè)置,將默認(rèn)編碼設(shè)置為utf8.這樣就能達(dá)到我們所要的效果了。

mysql> SHOW VARIABLES LIKE 'character%';

| 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 | C:Program FilesMySQLMySQL Server 5.0sharecharsets |

8 rows in set

另外注意事項(xiàng):

1、建表時(shí)加utf8,表字段的Collation可加可不加,不加時(shí)默認(rèn)是utf8_general_ci了。

CREATE TABLE `tablename4` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`varchar1` varchar(255) DEFAULT NULL,

`varbinary1` varbinary(255) DEFAULT NULL,

PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8

2、網(wǎng)頁(yè)xxx.php/jsp保存時(shí)選擇utf8編碼,頁(yè)頭最好加上

header('conten-type:text/html;charset=utf-8');

在執(zhí)行CRUD操作前先執(zhí)行一下

mysql_query("set names utf8");

連接數(shù)據(jù)庫(kù)設(shè)置編碼

jdbc:mysql://地址:3306/數(shù)據(jù)庫(kù)名?characterEncoding=utf8

java中的常用編碼UTF-8;GBK;GB2312;ISO-8859-1;

對(duì)應(yīng)mysql數(shù)據(jù)庫(kù)中的編碼utf8;gbk;gb2312;latin1

總結(jié)

以上是生活随笔為你收集整理的mysql utf8 乱码_MySql UTF8乱码问题应这样修改的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。