您的位置:程序门 -> vb -> 基础类



vb读mysql乱码部问题,爆急!!!解决马上给分


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


vb读mysql乱码部问题,爆急!!!解决马上给分[已结贴,结贴人:jomakzhao]
发表于:2007-03-27 15:57:16 楼主
mysql安装时已选择编码为gb2312,在mysql目录中的my.ini文件.客户端和服务器端两个编码设置均已设置为gb2312.     在建的库和表时也选择编码为gb2312.
    问题是,用vb从库中读内容时,汉字部份都是乱码,几个汉字就有几个乱码.
    写库的时候,如果写英文,则正常,如果写汉字,则提示 "data   to   long   for   column   'name '   at   row   1 "       (我向user表中name字段写汉字)
    请老师给予回答,解决马上给分.
发表于:2007-03-27 16:07:121楼 得分:0
好象是connection有个autotranslate属性,你把这个属性改成false试一下
发表于:2007-03-27 16:10:282楼 得分:0
在my.ini里找到
sql-mode=”strict_trans_tables,no_auto_create_user,no_engine_substitution”
把其中的
strict_trans_tables,
去掉,然后重启mysql就ok了
发表于:2007-03-27 16:30:273楼 得分:0
2楼,conn与rs都没找到autotranslate这个属性.
3楼,按你的办法,去掉了strict_trans_tables,然后停止mysql服务又重启,再又重启机器,问题依旧.
  请高手继续解答
发表于:2007-03-27 16:35:394楼 得分:0
那你用odbc吗?
就是控制面板里面那个数据源(odbc)
新建dsn的时候
在完成画面那里先不要点完成:有个“执行字符数据翻译”选项
就是上面说的autotranslate
connection的这个属性在对象里面没有
可以在connectionstring中设置,就加上一条autotranslate=false就可以
发表于:2007-03-27 16:45:265楼 得分:0
我是用了odbc.   在新建dsn的时候,选择新建mysql数据源,没有看到 "执行字符数据翻译 "选项,因为选择建mysql数据源的时候,弹出窗口是英文的,应该是mysql   connector   odbc的弹出项.
    autotranslate=false具体怎么加,可以给出两句代码吗?
不管如何,先谢谢
发表于:2007-03-27 16:51:386楼 得分:30
插入的汉字一般都是gb2312,而数据保存的是iso-8859-1。所以会出现乱码现象。
方法:读数据时用:  
str   =   new   string(“邓明”.getbytes(“gb2312”),”iso-8859-1”)  
插入时用  
str   =   new   string(“邓明”.getbytes(“iso-8859-1”),”gb2312”)

我也是在网上帮你g的,不知道对不对,你可以试试。

还有,是不是你的数据库驱动版本低了
发表于:2007-03-27 16:55:067楼 得分:0
谢谢,我的版本是最新的.我先按你的方法来试一下,先谢谢你
发表于:2007-03-27 16:56:238楼 得分:0
楼上的朋友,可以把你查的网址给我吗?   你语句中 "邓明 ".gebytes()     还是 "邓明 ",getbytes()
?
发表于:2007-03-27 17:04:579楼 得分:0
csdn上的高手呢?   来帮忙解决一下,分不够我再开贴.只求解决问题倾家荡产也要解决问题为先,高手请帮忙
发表于:2007-03-27 17:06:4410楼 得分:50
在打开与mysql数据库的连接之后,   执行一下下面的sql语句:
set   names   'gbk '
然后就能正常读写中文字段了。
发表于:2007-03-27 17:18:3511楼 得分:0
复:jadeluo(秀峰)  
    按你的说法,我打开mysql   dos方法.执行了 "set   names   'gbk ' "   然后执行我的查看数据库代码,汉字方法仍然是 "? "
发表于:2007-03-27 18:45:1112楼 得分:0
mysql   dos方法,   你是指用某个mysql的客户端?
在你的代码中完成这条语句试试。
发表于:2007-03-28 08:00:2013楼 得分:0
虽然问题没解决,还是谢谢农夫三拳热心的在网上帮忙查找资料.
发表于:2007-03-28 08:18:5014楼 得分:0
谢谢秀峰,你的方法可以.我昨天急晕了set   names   'gbk '放至mysql的dos环境中去执行了.谢谢你


快速检索

最新资讯
热门点击