資料庫編碼問題

2021-09-06 15:45:09 字數 789 閱讀 3818

lmysql有六處使用了字符集,分別為:client、connection、database、results、server 、system。

•client是客戶端使用的字符集。

•connection是連線資料庫的字符集設定型別,如果程式沒有指明連線資料庫使用的字符集型別就按照伺服器端預設的字符集設定。      

•database是資料庫伺服器中某個庫使用的字符集設定,如果建庫時沒有指明,將使用伺服器安裝時指定的字符集設定。   

•results是資料庫給客戶端返回時使用的字符集設定,如果沒有指明,使用伺服器預設的字符集。      

•server是伺服器安裝時指定的預設字符集設定。      

•system是資料庫系統使用的字符集設定。 •

l檢視和修改資料庫字符集

•show variables like 'character%';

•set character_set_results=gbk;

•set character_set_client=gbk; 

如果預設資料庫是utf-8型別的6種字符集,在dos下屬性預設是gbk處理字符集的,當使用insert into語句插入資料的時候插入中文,此中文先被gbk編碼然後進入資料庫被預設當作utf-8儲存 就是亂碼了,如果•set character_set_client=gbk; 通知資料庫客戶端是gbk則資料庫會先根據gbk碼表解碼 然後再編碼稱utf-8存在資料庫中,•set character_set_results=gbk;**顯示結果為gbk.

資料庫編碼問題 資料庫亂碼

mssql理論上講用varchar 是不支援unicode的,sql server 支援unicode 就是通過nchar,nvarchar,ntext這些資料型別,而不像oracle既有unicode編碼的資料型別,同時還有unicode編碼的資料庫,在安裝的時候就指定了。第乙個引數是安裝資料庫時...

MySQL資料庫編碼問題

在程式開發中,有時會被字元亂碼的問題所困擾。對此,必須理解 mysql 的字符集編碼設定的原理 在mysql中,預設使用的是lartin1,也就是iso8859 1字符集編碼。這是一種8位的編碼,適用於所有西歐字元。而對於漢字等是不合適的。最好 最通用的編碼格式是utf 8,utf 8 8 位元 u...

mysql 資料庫編碼問題

檢視資料庫編碼格式 show variableslike character set database 檢視資料表的編碼格式 showcreatetable 表名 建立資料庫時指定資料庫的字符集 create database 資料庫名 character set utf8 建立資料表時指定資料表的...