當前位置:網站首頁>【RDS】RDS MySQL如何保證數據庫字符編碼正確?

【RDS】RDS MySQL如何保證數據庫字符編碼正確?

2022-01-26 22:43:26 阿裏雲問答

RDS MySQL如何保證數據庫字符編碼正確?




采納答案1:

字符集是數據庫設計過程中需要詳細考慮的一點,您需要根據業務場景、用戶數據等方面來綜合考慮。

字符編碼的介紹

1、登錄RDS實例,請參見連接MySQL實例

2、依次執行如下SQL語句,查看相應數據庫的字符集。

use [$DB_Name];show variables like '%character%';

說明:[$DB_Name]為數據庫名。

系統顯示類似如下。

image (2).png

說明:

a.以上參數必須保證除了character_set_filesystem外的參數都統一,才不會出現亂碼的情况。

b.character_set_client、character_set_connection以及character_set_results是客戶端的設置。

c.character_set_system、character_set_server以及character_set_database是服務器端的設置。

d.服務器端的參數優先級是character_set_database > character_set_server > character_set_system。

保證數據庫字符編碼正確

1、執行如下SQL語句,修改客戶端字符集。

set names [$Character_Set]

說明:[$Character_Set]為字符集。

2、執行如下SQL語句,修改character_set_database參數。

ALTER DATABASE [$DB_Name] CHARACTER SET = [$Character_Set] COLLATE = [$Rules];

說明:[$Rules]為字符集規則。

3、登錄RDS管理控制臺,在頁面左上角,選擇實例所在地域。找到目標實例,單擊實例ID。在左側導航欄中單擊參數設置。

4、在可修改參數頁簽下查找到character_set_server進行修改,然後單擊確定。

說明:修改character_set_server參數需要重啟實例,建議在業務低峰期進行操作。 修改character_set_server參數

5.png

5、在頁面右上角單擊提交參數,在彈出的對話框中單擊確定,等待實例重啟即可。

說明:該參數修改後,僅對開啟高權限賬號的實例後,創建的數據庫有效,對當前數據庫無效。

6、character_set_system暫時不提供更改,但是由於其優先級最低,因此影響不大。做完上述的設置之後基本上可以保證不會出現亂碼,在代碼中設置客戶端字符編碼時建議通過第1步的SQL語句來修改客戶端的設置。


版權聲明
本文為[阿裏雲問答]所創,轉載請帶上原文鏈接,感謝
https://cht.chowdera.com/2022/01/202201262243264759.html

隨機推薦