系统: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字符编码格式

 

相关文章:

  • 2022-12-23
  • 2021-10-20
  • 2021-09-10
  • 2021-06-21
  • 2021-12-03
  • 2022-12-23
  • 2021-11-27
  • 2021-06-14
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-03
  • 2022-01-02
相关资源
相似解决方案