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