首页 新闻 搜索 专区 学院

SQL SERVER 2000 中字段VARCHAR类型中保存有BIG码的文字,如何取出?

0
悬赏园豆:10 [已解决问题] 解决于 2014-02-11 16:29

数据库环境,繁体BIG5 Windows,SQL SERVER2000,字段类型varchar.

 

开发环境,简体中文, VS2010, SQL Server 2008 管理工具。

如果使用SQL 2008的导出脚本,出来的文字都是乱码,

现在希望新建一个数据库,使用NVARCHAR类型保存数据,

希望把旧数据中的数据读出,放入新的数据库中,并且保持可读性。(不是乱码)

 

使用oledbDataReader读出来直接就是乱码,

到这儿就不知道如何处理了。

爱编程的大叔的主页 爱编程的大叔 | 高人七级 | 园豆:30638
提问于:2014-02-11 11:27
< >
分享
最佳答案
0

读成 binary ,然后在程序中转换成 unicode。

收获园豆:10
Launcher | 高人七级 |园豆:45045 | 2014-02-11 13:01
其他回答(1)
0

找到一个家伙用PHP解决的方案,然后自己开着VS,单步到转换语句,不停修改编码方式,终于搞定了。

Launcher你的回答也太短了一点。

最终解决方法如下:

Select cast(name as varbinary(100)) as test

其中name是包含中文字的字段

然后在NET中这样处理:

Dim myByte As Byte() = myDataReader.Item("test")

Dim myString As String = Encoding.GetEncoding("big5").GetString(myByte)

.EmployeeName = myString

中间第二行,我试了好几次才出来。

爱编程的大叔 | 园豆:30638 (高人七级) | 2014-02-11 16:28
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册