用VBA向数据库表里插入中文字段是乱码,怎么调?

用VBA向数据库表里插入中文字段是乱码,怎么调?,第1张

首先把你的页面设置成这个字符集

Window--Preferences--输入jsp,搜索--点击jsp--在相应的字符集设置上设置成自己想要的编码集。

如果这样还是不行的话,说明你数据库字符集设置有问题,这样设置:

首先把MySQL的服务停掉 在运行窗口输入:net stop mysql

把服务器和客户端的字符集改成自己想用的字符集:GB2312

具体 *** 作为:打开mysql安装目录下的myini.tet;

找到default-character-set,将其改为自己想用的字符集:GB2312或是utf8等……,要注意的是这里有两个default-character-set,用ctrl+f定位在文件最前面输入defaul就会找到,都要改过来;

重启MySQL服务器,在运行窗口输入:net start mysql

最重要的是一点是,到这里我们已经能够解决乱码问题了,可问题是我们依然还会出现乱码问题,这是因为我们现在的表被创建的时候用的是默认的字符集(latin1),所以这时候我们要把表删除,然后重建就可以了

Public Function addEquipment() As Integer

Dim flag As Integer = 0

Dim strsql As String = ""

emditInfor = New DBHelper()'DBHelper()为数据库 *** 作文件,包括数据库的连接插入更新查找等等

Try

strsql = "INSERT INTO Equipment ("

strsql &= "AssetsID,"

...

strsql &= "Size)"

strsql &= "VALUES ("

strsql &= "@AssetsID,"

...

strsql &= "@Size)"

Dim cmd As SqlCommand = emditInfor.GetSqlStringCommond(strsql)

emditInfor.AddInParameter(cmd,"@AssetsID",SqlDbType.NVarChar, "1314")

...

emditInfor.AddInParameter(cmd, "@Size", SqlDbType.NVarChar, "5")

flag = emditInfor.ExecuteNonQuery(cmd)'返回受影响的行数

Catch ex As Exception

End Try

Return flag

End Function

像这样以参数的形式传值进去就可以了。

VB内码使用unicode,我们输入的都是ANSI的字符,所以出现这个问题,不过如果把你的程序生成可执行文件以后就没这个问题了:

菜单:文件(file)-编译(make)。。。之后运行可执行文件就可以了


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6892720.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-29
下一篇 2023-03-29

发表评论

登录后才能评论

评论列表(0条)

保存