菜鸟请问:utf8编码转换问题
以下二个函数有没问题,为何用了之后一点作用也没有,这些编码我是搜索了CSDN之后得到,在线等回答,把分都给你们了,要求是得到utf8和gb2312互换的函数,如果下面的代码是对的,请告诉如何使用啊?我用了他们,把数据更新到utf8的数据库中不能正常显示。
Function gtou(ByVal strGb2312 As String)
Dim E_Gb2312 As System.Text.Encoding = System.Text.Encoding.GetEncoding("GB2312")
Dim E_Utf8 As System.Text.Encoding = System.Text.Encoding.UTF8
Return E_Utf8.GetString(System.Text.Encoding.Convert(E_Gb2312, E_Utf8, E_Gb2312.GetBytes(strGb2312)))
End Function
Function utog(ByVal strUnicode As String)
Dim E_Gb2312 As System.Text.Encoding = System.Text.Encoding.GetEncoding("gb2312")
Dim E_Utf8 As System.Text.Encoding = System.Text.Encoding.UTF8
Return E_Gb2312.GetString(System.Text.Encoding.Convert(E_Utf8, E_Gb2312, E_Utf8.GetBytes(strUnicode)))
End Function
问题点数:100、回复次数:10Top
1 楼Knight94(愚翁)回复于 2006-11-02 08:42:36 得分 0
如果是字符串的话,相对于编码是没有意义的。
也就是说
对于“A”这个字符串来说,在UTF8转化的byte内容不同于GB2312所转换的。
所以如果你数据库存的byte内容的话,才有意义;否则,在程序中的转换是没有意义的。Top
2 楼viena(维也纳N02)回复于 2006-11-02 09:01:29 得分 0
同意楼上,.NET中的字符串是Unicode编码的~Top
3 楼ustbwuyi()回复于 2006-11-02 09:12:36 得分 0
貌似是这样的Top
4 楼chenym1977()回复于 2006-11-02 13:01:54 得分 0
那如何才能让UTF8编码的数据库字段正确在VB控制里正确显示?并且我能正确修改数据库内容?Top
5 楼free_wang()回复于 2006-11-02 19:50:29 得分 0
u[pTop
6 楼chenym1977()回复于 2006-11-02 21:12:51 得分 0
自己在顶一下了Top
7 楼wangchaocn((小雨点))回复于 2006-11-02 21:43:08 得分 0
markTop
8 楼Knight94(愚翁)回复于 2006-11-03 08:43:50 得分 0
to 那如何才能让UTF8编码的数据库字段正确在VB控制里正确显示?并且我能正确修改数据库内容?
不是给你说了吗,如果数据库中是varchar相关类型的话,并且通过数据库查询工具获得数据无乱码现象,你直接获取即可,并不需要做编码转换。Top
9 楼iland9876543210(我要求助)回复于 2006-11-15 13:48:48 得分 0
好久没顶了,顶一个
Top
10 楼bejon(阿牛[如果我懂,必坦诚相告;如果您懂,请不吝赐教。])回复于 2006-12-14 00:20:06 得分 0
mrakTop




