資訊內(nèi)容
c連接mysql中文亂碼
Rx8少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
1. 先上圖一張,看看什么是亂碼Rx8少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
Rx8少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
2. 理解一下VC++中的字符串編碼
Rx8少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
在以前VC++6.0中默認(rèn)的字符集是多字節(jié)字符集(MBCS:Multi-Byte Character Set),而VS2005及以后默認(rèn)的字符集是Unicode,這樣導(dǎo)致以前在VC6.0中非常簡(jiǎn)單實(shí)用的各類(lèi)字符操作和函數(shù)在VS2010環(huán)境下運(yùn)行時(shí)會(huì)報(bào)各種各樣的錯(cuò)誤。Rx8少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
字符集可以通過(guò)項(xiàng)目屬性修改:項(xiàng)目屬性→配置屬性→常規(guī)→字符集。我的字符集(VS2013編碼環(huán)境)為:Rx8少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
Rx8少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
注:CString在Unicode和多字節(jié)字符集下的區(qū)別:Rx8少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
CString 是基于 TCHAR 數(shù)據(jù)類(lèi)型的。如果為程序的生成定義了符號(hào) _UNICODE,則會(huì)將 TCHAR 定義為 wchar_t 類(lèi)型(一個(gè) 16 位的字符編碼類(lèi)型);否則,會(huì)將它定義為 char(普通的 8 位字符編碼)。于是,在 Unicode 下,CString 由 16 位字符組成。如果沒(méi)有 Unicode,它們則由 char 類(lèi)型的字符組成。Rx8少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
3. 解決辦法Rx8少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
在C程序里向數(shù)據(jù)庫(kù)插入數(shù)據(jù)之前,應(yīng)該加上這一句:Rx8少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
char * query = "set names 'GBK'"; mysql_query(con, query);
Rx8少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
4. 為什么會(huì)出現(xiàn)亂碼?Rx8少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
在控制臺(tái)登錄mysql后輸入查詢語(yǔ)句:Rx8少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
Show variables like 'character%';
Rx8少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
character_set_client:客戶端的字符集
Rx8少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
character_set_results:結(jié)果字符集Rx8少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
character_set_connection: 連接字符集Rx8少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
這三個(gè)系統(tǒng)參數(shù)的作用:Rx8少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
信息輸入路徑: client→connection→serverRx8少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
信息輸出路徑: server→connection→resultsRx8少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
故這幾個(gè)系統(tǒng)參數(shù)的值須相同,不然以不同的編碼方式傳送數(shù)據(jù),若編碼方式不兼容,則容易造成亂碼的問(wèn)題。Rx8少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
- 上一篇
python絕對(duì)值怎么計(jì)算
簡(jiǎn)介在python中可以通過(guò)abs函數(shù)計(jì)算數(shù)字的絕對(duì)值,abs函數(shù)的使用語(yǔ)法是“abs(x)”,其中參數(shù)x表示數(shù)值表達(dá)式,該函數(shù)可以返回x的絕對(duì)值。推薦:《python視頻教程》Pythonabs()函數(shù)描述abs()函數(shù)返回?cái)?shù)字的絕對(duì)值。語(yǔ)法以下是abs()方法的語(yǔ)法:abs(x)參數(shù)x--數(shù)值表達(dá)式
- 下一篇
PostgreSQL怎么查詢數(shù)據(jù)庫(kù)
簡(jiǎn)介PostgreSQL怎么查詢數(shù)據(jù)庫(kù)在PostgreSQL中,SELECT語(yǔ)句用于從數(shù)據(jù)庫(kù)表中檢索數(shù)據(jù)。數(shù)據(jù)以結(jié)果表格的形式返回。這些結(jié)果表稱(chēng)為結(jié)果集。語(yǔ)法:SELECT column1, column2..column&
