如何使用MySQL C API获取UTF-8编码方式的中文字段

时间:2021-07-05 07:50:49
语言C++,访问MySQL的方式MySQL C API

目前查询的字段值只要带中文的都显示ASCII 63 '?'

我估计是没有指定字符编码方式的原因,默认采用了ASCII编码的缘故。

谢谢~

6 个解决方案

#1


查詢前執行 SET NAMES utf8沒?

#2


http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspx
MySQL 中文显示乱码

检查一下你表中的数据的字符集是什么?
然后可以在连接字符串中设置相应字符集或者象楼上 xionglingfeng 所说一样,发送一个 set names 'xxxx' .

#3


没有,具体如何执行呢?

你是指mysql_query("SET NAMES utf8")么?
刚网上也搜到了,但是似乎用于php,编译的时候提示不接收一个参数。

#4


C 中你可以用 mysql_real_query() 或 mysql_query() 来执行这个 set name 'xxx' 的语句,和执行普通SQL语句没什么两样。

#5


Thanks~有效了

我现在要考虑怎么把UTF8的字符串转换为ASCII了

#6


我采用了SET NAMES gb2312

没想到真能获得简体中文了,呵呵~

#1


查詢前執行 SET NAMES utf8沒?

#2


http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspx
MySQL 中文显示乱码

检查一下你表中的数据的字符集是什么?
然后可以在连接字符串中设置相应字符集或者象楼上 xionglingfeng 所说一样,发送一个 set names 'xxxx' .

#3


没有,具体如何执行呢?

你是指mysql_query("SET NAMES utf8")么?
刚网上也搜到了,但是似乎用于php,编译的时候提示不接收一个参数。

#4


C 中你可以用 mysql_real_query() 或 mysql_query() 来执行这个 set name 'xxx' 的语句,和执行普通SQL语句没什么两样。

#5


Thanks~有效了

我现在要考虑怎么把UTF8的字符串转换为ASCII了

#6


我采用了SET NAMES gb2312

没想到真能获得简体中文了,呵呵~