SQlite中文问题!谁有完美解决方案?
网上一直有人探讨SQlite不支持中文的问题,经过搜索,也知道SQLite是UTF8编码,而我们常用GB2312编码。我想问:1、有哪个可视化工具能完美支持中文,SQLi...
网上一直有人探讨SQlite不支持中文的问题,经过搜索,也知道SQLite是UTF8编码,而我们常用GB2312编码。我想问:
1、有哪个可视化工具能完美支持中文,SQLite SPY/Admin/Deveploer....我下了好多了,没一个好用的。凡是碰到数据库名/表名/字段名是中文的,没有一个都支持中文的,即使你建立数据库时选UFT8编码。
我想找找哪个软件能支持数据库名/表名/字段名都是中文的,即使本身是E文版的,非汉化的也无妨,搞IT的那点简单的、菜单上的E文应该不是啥问题。
2、就算是数据库名/表名/字段名都是英文也能凑活,关键是输入的数据查询出来的能正确显示也行啊。各种帖子上说“插入数据时Encode成UTF8”、“查询出来Decode成UTF8”,有没有实际的例子啊?用哪个函数啊?(我用的是C#.NET)。
3、以前一直用MS SQLSERVER2000,绿色版GSQL6.5.0.4,挺好用的,人家SQL2000怎么没听说还要转码啊?能够否让SQLite默认就支持中文啊?例如在web.config里设置一下UTF8,就一劳永逸了,SQLite就会插入数据或查询数据时自动转码了。
如果SQLITE连这点简单的问题都解决不了,或那么麻烦,何谈最好用的桌面数据库了,至少在中国甭提了!
看来这个问题真的很难,一天了,没人回答,自力更生吧。
刚才又试了一下,用代码新建一个库,用代码插入/更新数据库,用代码查询出,在全部默认的情况下,读到GRIDVIEW中的数据完全正确,中文一点不乱。但用那些老外编的可视化管理软件看刚才那个库却乱码!
终于明白了:鱼和熊掌不可兼得。
那些可视软件里建的库,输的数据,自己的软件读不了,
反之,自己软件建的库,它们也读不了。不知编码如何才能统一。
看来只有长志气,学习SQLSERVER中文版的企业管理器,自己编一个管理软件!
中国人在中文环境下开发的,应该不会乱码了吧。 展开
1、有哪个可视化工具能完美支持中文,SQLite SPY/Admin/Deveploer....我下了好多了,没一个好用的。凡是碰到数据库名/表名/字段名是中文的,没有一个都支持中文的,即使你建立数据库时选UFT8编码。
我想找找哪个软件能支持数据库名/表名/字段名都是中文的,即使本身是E文版的,非汉化的也无妨,搞IT的那点简单的、菜单上的E文应该不是啥问题。
2、就算是数据库名/表名/字段名都是英文也能凑活,关键是输入的数据查询出来的能正确显示也行啊。各种帖子上说“插入数据时Encode成UTF8”、“查询出来Decode成UTF8”,有没有实际的例子啊?用哪个函数啊?(我用的是C#.NET)。
3、以前一直用MS SQLSERVER2000,绿色版GSQL6.5.0.4,挺好用的,人家SQL2000怎么没听说还要转码啊?能够否让SQLite默认就支持中文啊?例如在web.config里设置一下UTF8,就一劳永逸了,SQLite就会插入数据或查询数据时自动转码了。
如果SQLITE连这点简单的问题都解决不了,或那么麻烦,何谈最好用的桌面数据库了,至少在中国甭提了!
看来这个问题真的很难,一天了,没人回答,自力更生吧。
刚才又试了一下,用代码新建一个库,用代码插入/更新数据库,用代码查询出,在全部默认的情况下,读到GRIDVIEW中的数据完全正确,中文一点不乱。但用那些老外编的可视化管理软件看刚才那个库却乱码!
终于明白了:鱼和熊掌不可兼得。
那些可视软件里建的库,输的数据,自己的软件读不了,
反之,自己软件建的库,它们也读不了。不知编码如何才能统一。
看来只有长志气,学习SQLSERVER中文版的企业管理器,自己编一个管理软件!
中国人在中文环境下开发的,应该不会乱码了吧。 展开
若以下回答无法解决问题,邀请你更新回答
2个回答
展开全部
Sqlite默认保存数据是用UTF8格式,而现有程序开发工具都是默认GB2312的格式,所以你编程写的中文不转码直接写到库里后,用任何数据库工具看肯定都是乱码。但是读出来之后仍然是GB2312,所以显示正常。反之如果你用数据库工具写中文,则默认存UTF8格式,用程序读出来就是乱码。也就是你说的不可兼得。
如果要实现能够编程和数据库工具读写都正常,必须要转码。也就是说,保存时候,要把GB2312转成UTF8,而读出时候需要把UTF8在转成GB2312。
网上有源程序可用,叫做CCodingConv的类,你搜一个源码,在每次执行SQL语句之前,将其转换一下即可。将整个SQL语句进行转换,E文的会保持不变,而中文的会自动转换成合适的编码,执行即可实现要求。
如果要实现能够编程和数据库工具读写都正常,必须要转码。也就是说,保存时候,要把GB2312转成UTF8,而读出时候需要把UTF8在转成GB2312。
网上有源程序可用,叫做CCodingConv的类,你搜一个源码,在每次执行SQL语句之前,将其转换一下即可。将整个SQL语句进行转换,E文的会保持不变,而中文的会自动转换成合适的编码,执行即可实现要求。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Navicat 最新版的 这个对sqlite支持比较好 我中文显示都没问题 你可以试下 我现在用的就是
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询