日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

mysql乱码问题_mysql乱码问题

發布時間:2024/9/27 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql乱码问题_mysql乱码问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

mysql亂碼問題

出現亂碼的原因:因為當前的CMD客戶端窗口與數據庫本身及庫,表的編碼格式不一致導致的。所以當出現亂碼的時候,請排查:

* sql文件的編碼格式

* 當前CMD客戶端窗口的編碼格式

* 數據庫服務本身的編碼格式

* 數據庫的編碼格式

* 表結構的編碼格式

我一在次更新客戶環境中出現了,mysql命令source文件后,出現亂碼的情況。但是使用navicat執行sql確沒有問題。

這是命令行中查看字符編碼得到結果:

這是我使用navicat查看字符編碼得到的結果:

從上圖中可以看到MYSQL有六處使用了字符集,分別為:

與服務器端相關:database、server、system(永遠無法修改,就是utf-8);

database

為數據庫服務器中某個庫使用的字符集設定,如果建庫時沒有指明,將使用服務器安裝時指定的字符集設置

server

為服務器安裝時指定的默認字符集設定

system

為數據庫系統使用的字符集設定

與客戶端相關:connection、client、results :

client

為客戶端使用的字符集

connection

為連接數據庫的字符集調協類型,如果程序沒有指明連接數據庫使用的字符集類型則按照服務器端默認的字符集設置

results

為數據庫給客戶端返回時使用的字符集設定,如果沒有指明,使用服務器默認的字符集。

通過上圖和解釋,可以得出,只要客戶端與服務端的編碼格式不一致就會導致籌碼問題。只不過我這里只是這個問題,還有如表,數據庫,sql文件的字符編碼不一致,都會導致亂碼。

解決方法

一、 在當前的CMD中修改字符集,只不過只能在當前會話生效:

mysql > set names utf8;

二、在連接數據庫時就定義字符集編碼:

~]# mysql -uxxx -pxxx -hxxxx --default-character-set=utf8

三、最有效的辦法,就是在mysql服務器端修改mysql的配置文件,加入如下配置:

~]# cat /etc/my.cnf

[client]

default-character-set=utf8

[mysqld]

character-set-server=utf8

總結

以上是生活随笔為你收集整理的mysql乱码问题_mysql乱码问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。