mysql字元編碼問題

2021-08-30 05:53:49 字數 626 閱讀 9080

許多人可能會有這樣的經驗:明明全部系統都以 utf-8 設定,但是用 phpmyadmin 去看資料庫時,發現中文字仍然是亂碼。

若有發生這種情況,大多因為安裝資料庫時候指定預設的儲存編碼是latin1。因為[color=red]雖然 mysql 本身及網頁都是 utf-8,但是mysql卻用 latin1 將資料儲存起來,因此是 utf-8 資料被以 latin1 的格式儲存進資料庫。[/color]

1、知道了原因解決辦法就有了。[color=red]就是把資料以latin1的編碼匯出,這樣匯出的資料就不會亂碼,再以utf-8導回資料庫。[/color]

mysqldump --all-databases --default-character-set=latin1 -u root -p > backup.sql

2、修改 backup.sql 檔案首頁的:

/*!40101 set names latin1 */; 成為 /*!40101 set names utf8 */;

charset=latin1 成為 charset=utf8

3、導回資料

mysql -u root -p < backup.sql

MySQL字符集編碼問題

今天專案中,用中斷命令匯入sql指令碼,發現其報出編碼錯誤,後來進過一番分析查詢後,發現字符集utf8mb4在mysql 5.5.3之後才支援,頓時無語,隨後改字符集編碼為utf8。注意 查詢mysql版本命令 mysql v mysql命令 1 使用show語句找出在伺服器上當前存在什麼資料庫 m...

Mysql 永久解決字元編碼問題

在使用mysql建立 的時候,我們希望表中能夠顯示中文,但是mysql預設的編碼字符集不支援中文,這時候我們就需要修改字元編碼來解決問題了。怎麼永久地解決這個問題呢,這就需要我們更改mysql的配置檔案 my.ini 了。my.ini檔案就在mysql的家目錄下邊。如下圖 開啟my.ini檔案。在 ...

MySQL 字元編碼

使用過mysql資料庫的,都可能碰到過儲存文字亂碼的問題,最終原因是字元編碼的問題。因為計算機只能處理數字,如果要處理文字,必須先把文字轉成數字。計算機在設計時採用8個位元 bit 作為乙個位元組 byte 所以乙個位元組能表示的最大整數是255 二進位制11111111 想要表示更大的數,就需要更...