免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2985 | 回复: 4

在DOS控制台输入SQL命令插入汉字可以。但是用ODBC 插入汉字时报错?紧急求救 [复制链接]

论坛徽章:
0
发表于 2010-09-28 21:58 |显示全部楼层
MYSQL5+ODBC+MFC开发了个小程序,往数据库中插入记录,下面是出错的语句。(查询语句正常,汉字也能正常显示。)请高手指点其中的道理,多谢。

  1.         wsprintf(buf, "insert into material material_name ,material_unit , material_type ) values ( '%s','%s','%s') ", mymaterial_name, mymaterial_unit, mymaterial_type);
  2.         rc = SQLExecDirect(hSTMT, (SQLCHAR *)buf, SQL_NTS);
复制代码
程序执行到以上代码时异常推出。rc=-1
1,我把mymaterial_name, mymaterial_unit, mymaterial_type三个值输入中文时报错。
2,我把三个值输入英文就可以插入到MYSQL中了。
3,我在WINDOW的控制台中用MYSQL命令登陆后,直接执行SQL语句,也能正常插入汉字值。语句如下:
insert into material (material_name, material_unit, material_type) value ( " 大白菜 "," 斤 ","菜");

论坛徽章:
0
发表于 2010-10-10 15:31 |显示全部楼层
回复 1# light511


    自己回复下,问题已经解决,在创建数据库时设置数据集为UTF8即可。
但是又有个新问题,插入汉字可以了,控制台里查询出来汉字显示是正常的。但是程序里查询出来是乱码。是怎么回事?

论坛徽章:
0
发表于 2010-10-11 10:05 |显示全部楼层
程序编码选择有问题,编码选择utf-8格式, set names utf8.

论坛徽章:
0
发表于 2010-10-12 22:52 |显示全部楼层
回复 3# strong_sjhi


   请问怎么选择程序编码?

论坛徽章:
0
发表于 2010-10-13 08:18 |显示全部楼层
关于编码,在WEB应用,要注意几点:
服务器端(存储)的字符集
客户端的字符集
连接所用的字符集
返回结果的字符集

要保证它们之间的一致性
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP