C++讀取MYSQL數據庫中文亂碼問題


系統:Ubuntu16.04

MYSQL:MYSQL5.6

建庫表使用的是編碼格式為:UTF-8

 

 

現象:

使用C++的MYSQL數據庫接口,讀取數據庫中的中文字符出現亂碼,具體表現為中文字符在終端顯示為 “?” ,英文均顯示為正常,無亂碼

解決:調用MYSQL數據庫接口之前(連接上數據庫成功之后),執行

mysql_query(xxx,'SET NAMES UTF8');

其中xxx表示mysql*類型

SET NAMES顯示客戶端發送的SQL語句中使用什么字符集

"SET NAMES UTF8"語句包括兩層含義:

1.告訴服務器,發送到此客戶端的數據采用UTF-8字符編碼格式(例如,如果你使用一個SELECT語句,它表示列值使用了什么字符集)

2.同時告訴服務器將從該客戶端傳來的信息采用UTF-8字符編碼格式

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM