VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 869|回复: 1

字符串转码问题

[复制链接]
16_avatar_middle
最佳答案
0 
在线会员 发表于 2020-7-23 16:07:50 | 显示全部楼层 |阅读模式
我现在有个项目是读取EXCEL表格里面的数据然后在插入到数据库读取excel 的是libxl 一个库,数据库是用的sqlite3,读出来没有问题但是在插入到数据库后里面的中文全是乱码,我调试的时候在插入之前都是不乱码。在百度上搜了一下说sqlite接收的是utf-8的格式,于是我加了一个uncode转utf-8的函数但是发现问题依然存在,经过跟踪调试在转码以后中文就已经是乱码了,(如果不做转直接插入还是显示乱码)如果转码没有插入就已经乱码了,我不知道是我转的方式不对,还是数据库的可视化工具有问题。如果在数据库可视化工具正常的情况下如何才能把正确的数据放进去,因为后期还要使用中文查询。




上一篇:MFC WebBrowser 与CEF问题
下一篇:麻烦看下,类创建对象大致过程,谢谢
10_avatar_middle
最佳答案
3 
在线会员 发表于 2020-7-27 12:20:59 | 显示全部楼层
本帖最后由 he_minghao007 于 2020-7-27 12:24 编辑

从Excel表格中读取的中文,有可能是utf16的,也有可能是ansi格式的,这个需要区分。如果是utf16的就直接使用CW2A(L"这里填中文字符串",CP_UTF8).m_psz,将utf16转换成utf8格式,转换后在VS的IDE中显示确实是乱码,因为VS的IDE默认只能显示ANSI编码和UTF16(也就是VS上面的Unicode)。如果是ANSI格式的,则需要先转换成utf16格式,CA2W("ANSI格式的字符串").m_psz,然后再调用上面的UTF16转UTF8,最后插入数据库中就可以了。
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

×【发帖 友情提示】
1、请回复有意义的内容,请勿恶意灌水;
2、纯数字、字母、表情等无意义的内容系统将自动删除;
3、若正常回复后帖子被自动删除,为系统误删的情况,请重新回复其他正常内容或等待管理员审核通过后会自动发布;
4、感谢您对VC驿站一如既往的支持,谢谢合作!

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号-4 )|网站地图wx_jqr

GMT+8, 2023-9-28 03:24

Powered by CcTry.CoM

© 2009-2021 cctry.com

快速回复 返回顶部 返回列表