• 3921阅读
  • 7回复

[讨论]数据库怎么存储汉字 [复制链接]

上一主题 下一主题
离线hezf
 

只看楼主 倒序阅读 楼主  发表于: 2016-03-29
现在想在数据存储一些名字,例如QQ的名字
那么这些汉字是怎么存储的呢?我有下面两种假设
1、直接存储汉字
2、将汉字转码存储,取出的时候在转回来
不知道一般的做法是什么样的呢?
在数据库这方面基本是白痴
none
离线realfan

只看该作者 1楼 发表于: 2016-03-29
可以直接存汉字
离线hezf

只看该作者 2楼 发表于: 2016-03-29
回 realfan 的帖子
realfan:可以直接存汉字 (2016-03-29 08:36) 

那么我这么做可以吧?
表头不使用汉字,然后内容是汉字
none
离线robinsonsir

只看该作者 3楼 发表于: 2016-03-29
使用sqlite,表示没遇到这种问题,你使用的数据库是?系统编码是不是需要设置下
#include <QTextCodec>
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    QTextCodec *codec = QTextCodec::codecForName("System");
    QTextCodec::setCodecForLocale(codec);
    QTextCodec::setCodecForCStrings(codec);
    QTextCodec::setCodecForTr(codec);

    MainWindow w;
    w.show();

    return a.exec();
}
离线hezf

只看该作者 4楼 发表于: 2016-03-29
回 robinsonsir 的帖子
robinsonsir:使用sqlite,表示没遇到这种问题,你使用的数据库是?系统编码是不是需要设置下
#include <QTextCodec>
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
....... (2016-03-29 09:27) 

不是遇到问题了,就是想问问各位都是怎么处理的汉字,数据库可能使用sqlite3
none
离线robinsonsir

只看该作者 5楼 发表于: 2016-03-29
回 hezf 的帖子
hezf:不是遇到问题了,就是想问问各位都是怎么处理的汉字,数据库可能使用sqlite3
 (2016-03-29 09:45) 

用Qt操作数据库的时候没有特别的操作,表示没有遇到问题。。。
离线realfan

只看该作者 6楼 发表于: 2016-03-29
回 hezf 的帖子
hezf:那么我这么做可以吧?
表头不使用汉字,然后内容是汉字 (2016-03-29 09:01) 

你的表头是指数据表的字段名吧,一般字段名都用英文。存储的内容,包含汉字完全没问题。
离线hezf

只看该作者 7楼 发表于: 2016-03-29
回 realfan 的帖子
realfan:你的表头是指数据表的字段名吧,一般字段名都用英文。存储的内容,包含汉字完全没问题。 (2016-03-29 15:23) 

谢谢版主以及@robinsonsir  
表头用的英文,内容用的汉字,跟英文使用起来没两样,用的nvarchar存储
试用了下还可以,查找什么的也没有问题
本帖提到的人: @robinsonsir
none
快速回复
限100 字节
 
上一个 下一个