2017-02-16 60 views
0

这是我的问题:我们已经从Qt的5.7升级到5.8的Qt,以及包含特殊字符突然我们所有的SQL语句失败。MYSQL +的Qt 5.8:“不正确的字符串值”声明包含度的符号

我做了一个简单的测试程序试图执行以下语句:

INSERT INTO db_object_staticinfo(object_id, object_id_suffix, description, short_description, object_type, is_persistent, customer_tag, fluid_type) VALUES('BLAAA1', "BLAAA1", "Energy at 25°C total", "Energy at 25°C total", 1000, 1, 'BLAAA1', 2) 

返回的数据库错误文本是:

不正确的字符串值:“\ xB0C TOT ......”为列'描述'在第1行

度符号的确有UTF代码0xB0,但为什么它突然无效?

一些细节:我们在Windows 10上使用MySQL 5.7。 与我们的Qt 5.7解决方案(工作正常)相比,数据库表字符集没有改变。 程度的标志是内的1字节的UTF-8好,是吗?检查包含恶作剧字符字符串的部分显示以下内容:

[210] 0x0032 '2' unsigned short 
[211] 0x0035 '5' unsigned short 
[212] 0x00b0 '°' unsigned short 
[213] 0x0043 'C' unsigned short 

这到底是怎么回事的任何想法?

回答

0

object_id = > BLAAA1 ????看到coresponding

INSERT INTO table_name (column1, column2, column3) VALUES (value1, value2, value3)