求助求助!!,我在騰訊云服務器下(centos 7系統)撰寫了一個CPP程式,程式內使用mysql的c語言介面來連接騰訊的云mysql資料庫,在插入中文內容時,能成功插入資料到云mysql資料庫,但是中文顯示亂碼,英文正常,代碼如下圖:

寫入后的結果如下圖(使用的Navicat查詢的):
,結果為?aê?ò???test×?·?′;可見中文部分都是亂碼,英文test正常。查了很多資料,騰訊云mysql資料庫的字符集也都是utf-8的,這沒有問題,截圖如下:
。用Navicat操作云mysql資料庫,插入中文內容能成功,且顯示正常為中文,自己開發的應用程式操作云mysql資料庫插入中文資料也能成功,且正常顯示中文,就是在騰訊云服務器上操作云mysql資料插入中文就不行,故此判斷問題出在騰訊云服務器(centos 7系統)這里,我通過locale查看系統編碼,如下:
;也嘗試 vi /etc/locale.conf 來修改系統編碼為:LANG="zh_CN.UTF-8",也還是不行,到底問題出在哪里,查資料查了一天了,始終無法解決,還請各路大神幫幫忙,謝謝!!
uj5u.com熱心網友回復:
你的lang都寫錯了,應該是en_US.UTF-8,你的環境變數里怎么都是utf8uj5u.com熱心網友回復:
MySql中文的字符集是utf8mb4,改成這個再試試uj5u.com熱心網友回復:
lang那個是系統原來就是這樣,剛租騰訊云服務器的時候就是小寫的utf8,在centos 7系統內使用中文也是正常的,我剛嘗試改成en_US.UTF-8,結果還是一樣的
uj5u.com熱心網友回復:
utf8mb4是utf8的超集,對漢字的支持只是字符長度不一致,其實是差不多的,只是utf8mb4兼容性更強一些,剛查了騰訊云MYSQL服務器,其實它回話值就是utf8mb4,如下:
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/18294.html
標籤:MySQL
上一篇:neo4j-admin load database提示 you do not have permission to load a database
