标题:QSQLITE给字段写入3个汉字与以上就会出错
作者:ycyu1455
日期:2018-10-09 18:53
内容:
还有对计算机的机这个字就特容易导致出错,导致注入记录失败,我的系统是Win10、文本编码是utf-8,换成GBK编码也是这样,其他编码在qt creator中会变成乱码
#1 [bran_lee 10-10 09:08]
你是怎么写入的?能把相关代码段放出来吗?
#2 [dbzhang800 10-10 10:20]
你用的MinGW还是MSVC,如果是后者,给出如下信息:
VS的具体版本(包括Update版本)
源文件的编码格式(包括有没有BOM)
试图做了什么处理来获得UTF8的执行字符集(包括有没有设置特别的编译器选项,比如/utf8,源码内有没有定义特别的宏等等)
#3 [ycyu1455 10-10 17:10]
源文件编码是utf-8,没有bom
Qt 5.7 MSVC
Qt Creator 4.0.2
VS2013,版本号是12.0.30.501.0 rel,后面图是调试器与编译器版本
这是建表与插入数据的代码,第二条无法插入,”计算机机机机机机机机机”改成“计算”才成功插入
query.exec("create table course ('名字1' varchar primary key, '名字2' nvarchar, '名字3' nvarchar, '名字4' nvarchar)");
qDebug()
#4 [dbzhang800 10-10 18:09]
我没用过MSVC2013,不过我想,如果你回答了我前面的第三个问题,应该就解决了。
http://www.qtcn.org/bbs/read-htm-tid-54663.html
#5 回 dbzhang800 的帖子 [ycyu1455 10-10 20:13]
dbzhang800:我没用过MSVC2013,不过我想,如果你回答了我前面的第三个问题,应该就解决了。
http://www.qtcn.org/bbs/read-htm-tid-54663.html (2018-10-10 18:09)
我的vs2013是源程序安装的版本,还没升过级
源文件的编码格式是utf-8,换成带BOM的,虽然可以写入,没有出错,但是全是乱码,这也算成功吗
我想写入中文数据到表里面
----------------------------------------------------------------------------------
好像是解决了,在头文件声明前 添加这行代码#pragma execution_character_set("utf-8"),就可以了,明天再查看这代码是什么意思,然后复制过来,这是答案源https://www.cnblogs.com/findumars/p/5083304.html