解決資料庫儲存中文亂碼問題

2021-10-01 00:09:52 字數 604 閱讀 6711

輸入中文時資料庫中顯示為亂碼,提供以下兩種解決方案:

1.修改字段型別

varchar是採用單位元組存數

nvarchar採用的是unico編碼,儲存兩個位元組

乙個英文本母存varchar格式,佔乙個位元組;存nvarchar佔2個位元組。

varchar也可以儲存中文,如果系統不支援中文,就會出現亂碼(??)。

nvarchar的另乙個好處是在判斷字串的時候可以不考慮中英文差別。

在儲存代價低廉的情況下,推薦使用nvarchar,在確保不會出現中文的情況下可以採用varchar。

在語句中使用n'',n表示unicode的意思,表示按unicode進行編碼.

如:

insert into userinfo(username) values (n'***x')

2.修改資料庫的排序規則解決問題

假設資料庫名為testdb

alter database testdb collate chinese_prc_ci_as;

執行成功的前提是要關閉其它連線   

解決SQLite資料庫中文亂碼問題

關於sqlite中出現中文亂碼的分析以及解決方案 我們在使用sqlite資料庫時候,可能會發現,向資料庫插入資料時候顯示的是漢字,但通過sqlite讀出來時卻顯示的亂碼,這是因為sqlite資料庫所支援的編碼方式和我們程式中的編碼方式不一樣,sqlite資料庫採用的是utf 8編碼方式,而我們在程式...

解決oracle資料庫中文亂碼問題

中文亂碼問題解決 1.檢視伺服器端編碼 select userenv language from dual 我實際查到的結果為 american america.zhs16gbk 2.執行語句 select from v nls parameters 檢視第一行中parameter項中為nls la...

資料庫中文亂碼問題

問題出在了當前的 cmd 客戶端視窗,因為當前的 cmd 客戶端輸入採用 gbk 編碼,而資料庫的編碼格式為 utf 8,編碼不一致導致了亂碼產生。而當前 cmd 客戶端的編碼格式無法修改,所以只能修改 connection client results 的編碼集來告知伺服器端當前插入的資料採用 g...