说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

关于对ACCESS操作(VB6.0)时,出现乱码的问题???(急!!!)

编辑:说三道四文库 发布时间:2017-11-21 11:54
HTML文档下载 WORD文档下载 PDF文档下载
我在对数据库access 2000 进行写数据时,有时候出现了记录乱码问题,是怎么回事情呢?
是ADO / ACCESS 2000 / ???啥问题造成的啊?
exp:

dim Cn as new adodb.connectoin
dim Rs as new AdoDb.recordset
cn.open "Provider=Microsoft.jet.OLeDB.4.0;Data Source="\code.mdb"
rs.CursorLocation = adUseClient
rs.Open "code", cn, adOpenStatic, adLockOptimistic,2
rs.addnew
rs(0) = GstrName
......
......
能具体一些?
具体乱码出现在 信息写入表中
如我的 单位编码录入
set rs = new adodb.recordset
set cn = new adodb.connection
cn.open gstrcnn
rs.open "select * from dept_code ",cn,ad ,ad ,2
rs.addnew 
rs(0) = deptname1
....
....
....
还有些地方不知道是什么时候出来的乱码?(几天后才发现)

怎么办?

出现乱码原因:
一、汉字乱码现象的分类
汉字乱码现象大致可分成四类:网页、文本、文档和文件乱码。第一类是由于港台的繁体中文大五码(BIG5)与大陆简体中文(GB2312)不通用造成的;第二类是Win9X/Win2K系统(菜单、桌面、提示框)显示乱码,这是Win9X/Win2K注册表中有关字体的部分设置不当引起的;第三类是各种应用程序(包括游戏)本来显示中文的地方出现乱码,形成原因比较复杂,有第二类的乱码原因,也可能是软件用到的中文动态链接库被英文动态链接库覆盖造成的;最后一类是邮件乱码。
二、消除汉字乱码
针对以上几种乱码现象,我们来分类介绍消除乱码的方法。

(一)、网页、文本和文档文件乱码的消除
网页乱码是浏览器(如IE等)对HTML网页解释时形成的。如果在网页的代码中有形如:〈HTML〉〈HEAD〉〈META CONTENT=“text/html;charset=ISO-8859-1”〉〈/HEAD〉……〈/HTML〉的语句,浏览器在显示此页时,就会出现乱码。因为浏览器会将此页语种辨认为“欧洲语系”。解决的办法是将语种“ISO-8859-1”改为GB2312,如果是繁体网页则改为BIG5。
另一种解决办法是不修改网页代码,事先为浏览器安装多语言支持包(例如在安装IE时要安装多语言支持包),这样在浏览网页出现乱码时,就可以在浏览器中选择菜单栏下的“查看”/“编码”/“自动选择”/简体中文(GB2312),如为繁体中文则选择“查看”/“编码”/“自动选择”/繁体中文(BIG5),其它语言依此类推选择相应的语系,这样可消除网页乱码现象。
还有一种解决办法是利用多内码显示平台来转换内码。常用多内码显示平台有:
“南极星”:可自动识别GB码、BIG5码,用简体或繁体显示,并能做到同屏显示GB码和BIG5码,对日文、韩文亦能正确显示。下载地址:http:// www.njstar.com
“四通利方”:支持了包括GB、BIG5、HZ、日韩编码、UNICOD等17种汉字内码,也开始支持预览功能,并且增加了诸如“增删空格”、“插入禁排空格”等小而有用的功能,实在是网友的好帮手。下载地址:http:// www.srsnet.com
“MagicWin 98”:可真正的同屏显示不同内码,即GB码和BIG5码两者共存、都能正常显示。它支持GB、HZ、BIG5、JIS、EUC、SJIS、KSC、UTF7和UTF8等格式;支持Netscape Communicator 4.X、Internet Explorer 和Office 等软件;支持在多个窗口中同时查看不同内码的文档的超级多内码显示平台。下载地址:http:// www.itwin.com.my/magicwin
网页无乱码保存的方法是:用浏览器打开网页时,在“查看”/“编码”中选择“自动选择”,存盘时保存类型选“web页”,编码选择“UNICOD”,这样保存过的网页再次打开时,在浏览器菜单“查看”、“编码”中不管选择简体中文(GB2312)、简体中文(HZ)还是UNICODE(UTF-8)或繁体中文(BIG5),最终显示都不会出现乱码。
文本、文档文件乱码,一般是繁体中文显示在简体中文系统下或者相反情况造成的。只要把原本是繁体的内码转换为简体内码(或者相反),就可消除乱码。
Word2000能胜任这类工作,例如要把繁体中文转换为简体中文,方法是:选择要转换内码的文件,在弹出的对话框中(如图1),选择“其它编码”中的“繁体中文(BIG5)”一项,打开此文件时就不会出现乱码。无乱码保存方法:在保存时选择“文件”中的“另存为”,先存为“Word文档,存盘后打开再存为纯文本等其它格式;您也可以用Word2000的“中文简繁转换”工具实现无乱码保存,方法是在菜单栏中选择“工具/语言/中文简繁转换”,内码转换后再保存。
WPS2000也能转换内码,支持GB2312、BIG5、GBK等三种主要的汉字编码,并可在输出RTF、TXT、HTM格式文件时对内码进行转换。
除此之外,消除这类乱码还可用内码转换工具,对BIG5(繁体中文)和GB2312(国标码、简体中文)进行相互转换来实现。常用的内码转换工具有:
“飓风简繁通”:中文自由软件,纯“绿色软件”,不用安装,把300多K的压缩包解开到硬盘的任意一个目录即可使用。软件支持普通文本、剪贴板上内容、磁盘文件的BIG5→GB或GB→BIG5内码转换,速度很快。该软件特有“网站转换”功能:可在几分钟之内全自动的为您的网站生成一个BIG5码的版本。当然,您什么时候从港台地区抓个网站下来,也可以先来个BIG5→GB的转换,然后轻轻松松慢慢欣赏。下载地址:http://renliang.yeah.net
“内码转换大师”:能够以灵活的方式选取大批文件,同时进行转换。选取的文件在转换前后随时可以直接查看其内容。转换是直接在原文件上进行的,省去了选择目标目录、多次拷贝等繁琐的操作。独家具备:对于HTML文件,能够自动转换其汉字字符集定义,使之在浏览器中浏览时自动按照转换后的代码集中显示。目前支持GB2312以及BIG5两种代码集。下载地址:http://rchan.yeah.net
“华语通”:免费软件,支持BIG5<->GB双向转换,支持文本、Web页、RTF等格式,可批量转换。下载地址:http://lanny.yeah.net
“TEXT ROBOT”:支持BIG5<->GB、BIG5→GBK、BIG5→GBK简体、GBK繁体→GBK简体等多内码转换,可将文本格式转换为Web页,能进行批量内码转换。下载地址:http://denvor.yeah.net
“两岸通汉字内码转换器”:免费软件,支持GB<->BIG5、BIG5<->GB的双向转换,可以批量转换,还可直接转换剪贴板内的文本。在转换文件之前,允许你先通过预览窗口实现预览转换结果。下载地址:http:// www.njstar.com

(二)、Win9X/Win2K系统乱码的消除
这类乱码是由于注册表中关于字体部分配置不正常造成的,即使您用内码翻译软件如四通利方、南极星、Magic Win98、两岸通等处理也不会消除。解决办法是:恢复注册表中关于字体部分设置。
如有一台Win9X/Win2K版本相同且显示正常的机器,则可依下列步骤进行恢复:
1.在正常机器上选择“开始”/“运行”,在对话框中键入“REGEDIT”,打开注册表编辑器;
2.光标定位到“HKEY_LOCAL_MACHINE\ SYSTEM\CURRENT CONTROL SET\CONTROL\ FONTASSOC”,选择“注册表/导出注册表文件”,再选择“分支”,导出该分支注册表信息到文件(如LI.REG)中(如图2);
3.把LI.REG文件Copy到显示乱码的机器上,在显示乱码机器上运行REGEDIT,选择“注册注册表”/“导入注册注册表”,把LI.REG文件导入注册表中。
如没有Win9X/Win2K版本相同且显示正常的机器,则需要您手工恢复字体部分注册表项,按以下步骤:
1.在乱码机器上打开REGEDIT(REGEDIT.EXE在WINDOWS目录下);
2.找到“HKEY_LOCAL_MACHINE\SYSTEM\ CURRENT CONTROL SET\CONTROL\FONTASSOC”,正常情况下,会有ASSOCIATED DEFAULTFONTS、ASSOCIATED CHARSET两个文件夹,其正确的内容为:
子目录内容
中文Win98
中文Win98(OEM版)
中文Win2K
AASOCIATED CHARSET 
ANSI(00)=“yes”
GB2312(86)=“yes”
DEN(FF)=“yes”
SYMBOL(02)=“no”
ANSI(00)=“yes”
GB2312(86)=“yes”
OEM(FF)=“yes”
SYMBOL(02)=“no”
ANSI(00)=“yes”
OEM(FF)=“yes”
SYMBOL(02)=“no”
ASSOCIATED DEFAULT
FONTS 
AssocSystemFont=“simsun.ttf”
FontPackageDecorative=“宋体”
FontPackageDontcare=“宋体”
FontPackageModern=“宋体”
FontPackageRoman=“宋体”
FontPackageScript=“宋体”
FontPackageSwiss=“宋体”
同左栏
AssocSystemFont=“simsun.ttf”
FontPackage=“新宋体”
FontPackageDecorative=“新宋体”
FontPackageDontcare=“新宋体”
FontPackageModern=“新宋体”
FontPackageRoman=“新宋体”
FontPackageScript=“新宋体”
FontPackageSwiss=“新宋体”
3.当出现汉字乱码时,上述两个文件夹中内容就会不完整,有的没有ASSOCIATED CHARSET文件夹或其中内容残缺不全;有的ASSOCIATED DEFAULTFONTS下内容残缺。只要用REGEDIT在“HKEY_LOCAL_MACHINE\SYSTEM\CURRENTCONTROLSET\ CONTROL\FONTASSOC”下,根据以上正确内容恢复即可。

(三)、应用程序(包括游戏)乱码的消除
中文软件菜单等显示界面上出现乱码,可能是由于Windows注册表中关于字体设置的信息不正确地改变而造成的,这时候可以用上述第2点介绍的办法去解决。
如果用上法解决不了,那就是因为软件的中文链接库被英文链接库覆盖而引起的,这种现象经常发生在用微软开发工具例如VB、VC开发的中文软件上,这类软件中,菜单等显示界面上的汉字都是受一个动态链接库(DLL文件)控制,而软件的这个动态链接库一般安装在Windows的System目录下,如果以后安装了某个英文软件也使用同名的动态链接库,则英文软件的动态链接库就会覆盖WINDOWS\SYSTEM下的中文软件的动态链接库,这样,运行中文软件时就会调用英文的动态链接库,因此出现乱码。解决办法是重新安装中文软件,恢复中文动态链接库即可。

VB获得、设置鼠标双击间隔时间 VB获取当前系统平台 记载Windows使用的时间-VB资料 加速Visual Basic For Application(VBA) 监视程序的运行情况 -VB资料 交换鼠标按钮 -VB资料 交换鼠标左右键 -VB资料 禁止使用 Alt-Tab 或 Ctrl-Alt-Del -VB资料 控制光驱门的开关 -VB资料 VB利用 窗口函数监视系统的运行情况(VB类) VB判断是否在VB5环境下运行 VB判断一个32位程序是否结束 VB判断一个程序启动完成(不是结束) 屏蔽TextBox的系统菜单 -VB资料 启动时禁止装入 Add-Ins -VB资料 让Timer控件每5分钟触发一次事件 -VB资料 让程序启动快一点 -VB资料 VB如何调用系統的【查找】、【替换】的对话框? VB如何动态新增、移除 ODBC DSN? VB如何读取 Picture 内任何一点的颜色值? VB如何获取硬盘卷标、序列号和文件系统类型? VB如何判别程序是在Win95或NT下执行? VB如何启动控制面板? VB如何取得磁盘序列号? VB如何让Window不接受键盘输入及Mouse Click VB如何让程序拥有多个热键? VB如何让用户自行输入方程式,并计算其结果? VB如何使程序不在Ctrl+Alt+Del弹出的对话框内? VB如何使用 VB 编写自动反安装的程序? VB如何用VB建立快捷方式 VB如何用VB在桌面建立快捷方式 想做工作流或数据流程定制方面的工作,请给提意见,Up有分! 关于在WEB页面中打开OFFICE文档 女孩的心愿―――仅以此文道出父母离异的孩子的心声 【我贴我灌】 中国十把名刀 可否对多个xml文档进行检索? 浮点数问题,请各位大哥抽点时间帮小弟看看。谢谢 标题:煤矿矿主:“矿难难道都是我的错!?” (转贴) 如何在ORACLE8中把字段中的值填入数据库中,请各位多多指教!急!十分急!!! Delphi有没有象C++的this指针? 存储过程的条件判断如何写 我讨厌csdn首页的弹出窗口广告!!!! 这里关于前途的悲观论调的文章太多,难道程序员的抗挫折能力就那么差吗? 高分求救,有关非模式对话框隐藏的问题 襄儿妹妹,大哥给你的见面礼,请接受~~~ 求救!为什么以前做的程序,下次打开就不能运行了呢????? 为什么我显示的图象总被遮掉 上两个星期刚扫描好的最新ip地址库 进程出错,如何对系统的出错信息进行处理 谁有色带的型号和牌子的网址啊,推荐啊。。 完成端口中如何在接收状态下发送数据? 那位大哥能帮忙从sourceforge上下个工程,高分相送,分可以再加(急) (急)如何替换文本中的“+” 请问怎么看到DevC++运行后的结果啊。屏幕一闪就过去了 关于控件制作的两个问题 那位大哥能帮忙从sourceforge上下个工程,高分相送,分可以再加(急) 如何才能在Edit控件中显示大量的数据?? smoke,你好,很高兴能认识你! 大虾们给点意见:这么编写W77E58的软件看门狗是否妥当? 请问怎么用MAPI控件发送HTML格式的邮件啊 小问题,好郁闷!! 父窗口弹出一个子窗口,如果在子窗口点击鼠标,消息是怎么在父子窗口之间折腾的呢? 如何在接受到两个消息后才执行一段代码呢? 怎么定义一个三维数组 那位大哥能告诉我75,000日圆值多少人民币啊???? 安装了DirectX 9b之后Media Player 9.0总是出问题。 局域网怎么装打印机? 为什么控制面板中的“添加删除程序”不能用了?在线等待,请各位帮忙。 请问高手如何设置绘图背景为黑色,并且哪种绘制模式不影响画图的画笔颜色 《程序员》的文章错字太多!!!!!!!!!!!! 关于指纹采集识别 高分求《j2EE服务器端高级编程》这本书的源码 MAKEWORD宏从哪里找到中文解释。 为何在重载CreateParams后指定Form的Height值小于某个值后就不会再小? 开发一个基于WEB的ASP仓库管理,用什么技术比较好。 怎样让弹出对话框居中显示 我用Server.Transfer来做两个页面之间传值,我怎么让页面成为新窗口打开呀,100分 高分请教XML高手 在InterDev中,我什么说我不能连接web server 请问 怎么响应一个按钮打开一个新页面,同时关闭旧页面 各位PM进来谈谈自己的经历和经验教训。 picturebox控件问题 电压力煲哪个牌子好?奔腾电压力煲怎样 奔腾电压力煲好吗?​家里电压力煲是个机械版的,用着挺麻烦的,姐让我买个奔腾的无水焗电压力煲,说那个锅是电脑版的,而且还能做无水焗排骨, 车身长120米的列车以每秒20米的速度向东行驶,车身长300米的货车向西行驶.它们在180米长的桥西端相遇,在桥的东端离开,求货车每秒行驶多少米? 我丢了一串钥匙的英文I lost 一家饭店十月份的营业额是250000,十一月十一月份的营业额是280000,洛安百分之5缴纳营业额这家饭店两个月共计应缴纳营业税多少元 we were asked to check the answers_discussing with each other.Aby B.in C.of D.with tom在教室里丢来一串钥匙.翻译英文 奔腾plfn5001压力锅锅盖放气阀浮子不落下(始终在放气压)自己怎么修理?.达到沸点后不封闭.始终在放气.盖怎么拆 .找个有文采的,结婚22周年纪念.要写点好听的话 ,必须把22周年纪念写在里面哈. 尾数是7,既是六位数,又是4的倍数 随机组成的5位数中,尾数为“8888”的概率是多少?尾数为“888”的概率又是多少?50金币悬赏,需要具体的计算公式和过程, 巴基斯坦总理谢里夫呼吁寻求与塔利班对伦敦股市股指4日上涨南京富家子杀妻案被告愿赔57万 死者网传女孩食用虾和维C后猝死 记者调查机构预测四季度经济或下行 全面深化改泰国游船沉没一中国人遇难 船长逃跑打车软件夹缝生存前途未卜 “加价”功德国法兰克福股市DAX指数4日上涨2沙特和美国强调两国关系稳固未见裂痕巴基斯坦表示击毙巴塔首领加剧巴美紧张巴黎CAC40股指4日报收于4288“民族团结花盛开”全国画家采风团在新在哈萨克斯坦“穿蒙面罩袍是错误的”拉粪车国道侧翻阻碍交通 事主表示不需百米大战-博尔特10秒07轻松晋级半双保险再失灵!李越宏获男子25米手枪中国选手谢震业、苏炳添闯进里约奥运男新华社:中国举重队的“大气”与“小气博尔特里约奥运首秀!男子100米10博尔特10秒07晋级 加特林预赛第一巴西小伙迷恋中国女足8年 每轮女超都邓志文:“一带一路”将加速红木产业走
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘