码迷,mamicode.com
首页 > 数据库 > 详细

通过g++查询到的mysql中文数据输出是乱码

时间:2015-12-12 01:34:58      阅读:274      评论:0      收藏:0      [点我收藏+]

标签:

这几天遇到一个问题:

     通过g++查询到的mysql中文数据输出是乱码,而通过g++添加到mysql中的中文数据也是乱码,但单独通过g++输出正常,查询通过mysql添加的中文数据显示也正常.

在网查查询了很久,纠结了半天也没有找到答案。后来通过在linux吧发帖终于找到了解决方案。原来是mysql和g++默认字符集不匹配产生的问题。通过在代码中添加

int mysql_set_character_set(MYSQL *mysql, char *csname)函数终于解决了问题。

源码如下:

            

#include<iostream>
#include <mysql/mysql.h>
#include<string>
using namespace std;

main()

{
MYSQL *conn;
MYSQL_RES *res;
MYSQL_ROW row;
MYSQL_FIELD *fd;


const char *sql;

conn = mysql_init(NULL);
string aa= "使用的库名";
cout<<aa<<endl;

if (!mysql_real_connect(conn,"localhost" , "root", "123", "Supermarket", 0, NULL, 0))
{
cout<<"error !"<<endl;
return -1;
}
if (!mysql_set_character_set(conn, "utf8"))
{
cout<<"New client character set:"<<mysql_character_set_name(conn)<<endl;
}

else
{
cout<<"connected!!!"<<endl;
}


sql = "insert into T_goods values(‘777777‘,‘老坛酸菜面250g‘,‘成都康师傅有限责任公司‘,‘250g‘,4.5 , 3,10000,1) ";
int staus;
staus = mysql_query(conn,sql);
if(staus)
{
cout<<"no data"<<endl;
}

else cout<<"query success!"<<endl;

return 0;
}

数据库查询如下:

| 11117 | 茅台酒500ml | 贵州XX公司 | 500ml | 288 | 108 | 5000 | 1 |
| 11118 | 雪花啤酒 | 成都XX公司 | 250ml | 6 | 2.5 | 50000 | 1 |
| 11119 | 可口可乐125ml | 武汉XXX公司 | 125ml | 4.5 | 2 | 50000 | 1 |
| 2222222 | è€?å?›é…¸è?œé?¢250g | æˆ?都康师傅æ | 250g | 4.5 | 3 | 10000 | 1 |
| 33333333 | è€?å?›é…¸è?œé?¢250g | æˆ?都康师傅æ | 250g | 4.5 | 3 | 10000 | 1 |
| 44444 | è€?å?›é…¸è?œé?¢250g | æˆ?都康师傅æ | 250g | 4.5 | 3 | 10000 | 1 |
| 555555 | è€?å?›é…¸è?œé?¢250g | æˆ?都康师傅æ | 250g | 4.5 | 3 | 10000 | 1 |
| 6666666 | 老坛酸菜面250g | 成都康师傅有限责任公司 | 250g | 4.5 | 3 | 10000 | 1 |
| 777777 | 老坛酸菜面250g | 成都康师傅有限责任公司 | 250g | 4.5 | 3 | 10000 | 1 |
+----------+---------------------------------------+------------------------------------+---------+------------+-----------------+-------+----------+
17 rows in set (0.01 sec)

最后要感谢我爱麻省理工这位朋友!

http://tieba.baidu.com/p/4208832439?pid=80474409141&cid=0#80474409141

 

通过g++查询到的mysql中文数据输出是乱码

标签:

原文地址:http://www.cnblogs.com/hsyBlogs/p/5040564.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!