解决办法
```c++
QTextCodec *codec = QTextCodec::codecForName("UTF-8");
QTextCodec::setCodecForLocale(QTextCodec::codecForLocale());
if (QT_VERSION <= QT_VERSION_CHECK(5, 0, 0))
QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale());
QTextCodec::setCodecForTr(codec);
endif
```
乱码出现的原因
QString内部采用的是 Unic
继续阅读 »
发现中文显示为“?”,然后我看了一下 mysql.ini,添加了两行
```
[mysqld]
port=3306
下面的两行是添加的
character_set_client=utf8
character_set_server=utf8
```
后来再看 mysql 中的信息发现这样了,不过中文问题已经解决了。
sql
mysql> show variables like 'character%';
+--------------------------+----------------------------------------------------
+
| Variable_name | V
继续阅读 »
这种设置方式是在mariadb最初的版本中可以,当时本人的mariadb是从mysql升级过来的。
在新版本中的设置方式和这个有些区别,请参考最新的博文(稍后推出)。
在本机上安装了mariadb尝试使用,插入中文数据时发现乱码,估计和mysql一样需要设置数据库编码格式,首先通过命令mysql -uroot -p123456进入数据库,然后使用show variables like 'character%';查看当前数据库的编码,如下图:
继续阅读 »