﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-ivaneeo's blog-随笔分类-qt-革命</title><link>http://www.blogjava.net/ivanwan/category/26718.html</link><description>自由的力量，自由的生活。</description><language>zh-cn</language><lastBuildDate>Sat, 20 Oct 2007 15:06:53 GMT</lastBuildDate><pubDate>Sat, 20 Oct 2007 15:06:53 GMT</pubDate><ttl>60</ttl><item><title>qsqlite4中文乱码解决</title><link>http://www.blogjava.net/ivanwan/archive/2007/10/20/154581.html</link><dc:creator>ivaneeo</dc:creator><author>ivaneeo</author><pubDate>Sat, 20 Oct 2007 15:03:00 GMT</pubDate><guid>http://www.blogjava.net/ivanwan/archive/2007/10/20/154581.html</guid><wfw:comment>http://www.blogjava.net/ivanwan/comments/154581.html</wfw:comment><comments>http://www.blogjava.net/ivanwan/archive/2007/10/20/154581.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ivanwan/comments/commentRss/154581.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ivanwan/services/trackbacks/154581.html</trackback:ping><description><![CDATA[qt4内置有sqlite插件，可以直接使用sqlite.但是发现插入中文时会有乱码问题。<br />
以windows为例，qt4内置编码为system(GBK).而sqlite内部编码为unicode.<br />
如果插入中文首先要转换为unicode.而从数据库读取时则不需要，因为qt会自动侦测编码，<br />
实例代码：<br />
&nbsp;&nbsp;&nbsp; <span style="background-color: #9e999d;">//插入记录<br />
&nbsp;&nbsp;&nbsp; QSqlQuery query;<br />
&nbsp;&nbsp;&nbsp; QByteArray sql = "insert into person values(1, 'hello', '你好！')";<br />
&nbsp;&nbsp;&nbsp; QTextCodec *codec = QTextCodec::codecForName("GBK");<br />
&nbsp;&nbsp;&nbsp; QString string = codec-&gt;toUnicode(sql); <br />
&nbsp;&nbsp;&nbsp; query.exec(string);<br />
&nbsp;&nbsp;&nbsp; //读入记录<br />
&nbsp;&nbsp;&nbsp; QSqlQuery query("select * from person");<br />
&nbsp;&nbsp;&nbsp; while (query.next()) {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; QString string = query.value(2).toString();;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; QMessageBox::information(0, "infa", string, QMessageBox::Ok);<br />
&nbsp;&nbsp;&nbsp; }<br />
</span><br />
<br />
<img src ="http://www.blogjava.net/ivanwan/aggbug/154581.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ivanwan/" target="_blank">ivaneeo</a> 2007-10-20 23:03 <a href="http://www.blogjava.net/ivanwan/archive/2007/10/20/154581.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>