为什么ubuntu 文本中文乱码导入SQL SERVER后中文为乱码

查看:6519|回复:6
背景:使用SQL2000 sp4, 排序规则 SQL_Latin1_General_CP1_CI_AS
&&开发工具PB6,很老了....,想用.NET做个报表系统,所以出现以下问题
问题:不管是使用SQL查询分析器还是直接打开数据表,所有中文字段都显示乱码,但是用PB带的数据库操作工具查询出来的数据很正常,PB数据库工具里可以直接修改数据库,也可以写SQL语句查询,都能正常显示中文。
已经进行的测试:
A.由于SQL2000不支持直接更改数据库的排序规则,支持更改字段排序规则,变更字段排序规则后,原来已存在的数据也不会正常显示,只有新增的数据才正常,数据表太多数据也很多,一个个更改不现实。
B.新建另一个数据库,排序规则Chinese_PRC_CI_AS,然后用完全备份恢复到这个数据库,所有数据就正常了,但是测试数据有限,不知道是否会有其他影响(有资料显示短日期数据会发生溢出,不知是否属实),更为难的是软件是7*24小时工作的,不能腾出大量时间进行这样的操作。
请问大家有没有类似的经历,麻烦大家给提供一个解决方案,谢谢~
SQL2000查询截图:
PB查询截图:
本帖最后由 djd66 于
22:31 编辑
sql profiler 去看看 PB 查询使用的语句。
你的sql server 排序规则是SQL_Latin1_General_CP1_CI_AS,也就是英文,如果字符定义的是varchar,那么自己sql server的客户端会用英文来显示中文字符,结果就是乱码;
说到PB,它连接到数据库有它的驱动,在页面也可以控制用什么字符集(也许PB里不叫字符集,有同样功能的设置),所以比如PB用了中文,或者UNICODE字符集,当然就可以显示数据库里的中文了。
SQL Server MCITP, MVP, MCT, DBA
引用:原帖由 oswica 于
09:56 发表
sql profiler 去看看 PB 查询使用的语句。 查询里的语句也是乱码
(845 Bytes)
引用:原帖由 seusoftware 于
13:08 发表
你的sql server 排序规则是SQL_Latin1_General_CP1_CI_AS,也就是英文,如果字符定义的是varchar,那么自己sql server的客户端会用英文来显示中文字符,结果就是乱码;
说到PB,它连接到数据库有它的驱动,在页面也可以控制用什么 ... 那就是说通过SQL无法转换成中文显示了吗?
使用collate Chinese_PRC_CI_AS也还是显示乱码
引用:原帖由 djd66 于
11:17 发表
那就是说通过SQL无法转换成中文显示了吗?
使用collate Chinese_PRC_CI_AS也还是显示乱码
287097 打个比方:你把你的IE浏览器页面设置为英文,你打开个中文网站,那基本整页都是乱码了,排序规则负责数据的读取和存储,但不负责你在界面的显示,需要你的工具支持中文显示才行,这里的工具是sql server客户端,这样说能明白吗?
SQL Server MCITP, MVP, MCT, DBA
引用:原帖由 seusoftware 于
11:15 发表
打个比方:你把你的IE浏览器页面设置为英文,你打开个中文网站,那基本整页都是乱码了,排序规则负责数据的读取和存储,但不负责你在界面的显示,需要你的工具支持中文显示才行,这里的工具是sql server客户端,这样说能明白吗? ... 谢谢两位版主,明白,已经搞定,.net下用以下方式转换的
Byte[] b1 = Encoding.GetEncoding(1252).GetBytes(newDT.Rows[&ywy&].ToString());//1252对应SQL_Latin1_General_CP1_CI_AS
newDT.Rows[&ywy&] = Encoding.GetEncoding(&GB2312&).GetString(b1);// newDT.Rows[&ywy&];//转换成新的字符编码循环重新写了一下,可以正常显示中文了~Sql Server 2008R2 遇到了BCP导入各种中文乱码的问题
来源:博客园
今天玩BCP导入数据的时候,有文件格式,有中文字符串问题……以下是历程,和大家分享一下,希望不要走我的弯路 主要那个表是一个翻译表,一个文件里面内涵几十种语言,所以很容易发现问题。 0、使用最常用的语句导数据 bcp DB.TBOwner.TB in File -S -U -P -r -t -c
来到,死活岛导不进去 1、打开文件,首先发现文件编码使用的是UTF-16 ……难怪死活不能导进去。然后把文件转换成UTF-8 ,不报错了!而且可以导进去了!! 2、开心的时间不到30秒,一查数据……全乱码了,又回到原点了…… 3、冷静,查文档,发现其实BCP是不支持UTF-8 的代码页的,然后回想一下,UTF-8 是变长格式,用UE查看数据文档。中文和其它语言是使用2个字符编码,英文是用1个字符编码,那就想到首先将文档转成宽字符,这里我转成了 unicode字符来处理。 4、bcp DB.TBOwner.TB in File -S -U -P -r -t -w 使用原来的语句,讲-c 改成 -w ~导入成功,查看数据无误~解决~ 这就是知识不扎实走的弯路…… BCP使用工具注释:/zh-cn/library/ms162802.aspx
免责声明:本站部分内容、图片、文字、视频等来自于互联网,仅供大家学习与交流。相关内容如涉嫌侵犯您的知识产权或其他合法权益,请向本站发送有效通知,我们会及时处理。反馈邮箱&&&&。
学生服务号
在线咨询,奖学金返现,名师点评,等你来互动Sql Server 2008R2 遇到了BCP导入各种中文乱码的问题_SQL技巧_动态网站制作指南
Sql Server 2008R2 遇到了BCP导入各种中文乱码的问题
来源:人气:1374
Sql Server 2008R2 遇到了BCP导入各种中文乱码的问题今天玩BCP导入数据的时候,有文件格式,有中文字符串问题&&以下是历程,和大家分享一下,希望不要走我的弯路主要那个表是一个表,一个文件里面内涵几十种语言,所以很容易发现问题。0、使用最常用的语句导数据  bcp DB.TBOwner.TB in File -S -U -P -r -t -c 来到,死活岛导不进去1、打开文件,首先发现文件编码使用的是UTF-16 &&难怪死活不能导进去。然后把文件转换成UTF-8 ,不报错了!而且可以导进去了!!2、开心的时间不到30秒,一查数据&&全乱码了,又回到原点了&&3、冷静,查文档,发现其实BCP是不支持UTF-8 的代码页的,然后回想一下,UTF-8 是变长格式,用UE查看数据文档。中文和其它语言是使用2个字符编码,英文是用1个字符编码,那就想到首先将文档转成宽字符,这里我转成了 unicode字符来处理。4、bcp DB.TBOwner.TB in File -S -U -P -r -t -w 使用原来的语句,讲-c 改成 -w ~导入成功,查看数据无误~解决~这就是知识不扎实走的弯路&&BCP使用工具注释:/zh-cn/library/ms162802.x
优质网站模板navicat导入txt文件中文乱码问题解决
navicat导入excel的相同内容不会出现乱码,然而导入txt文件出现中文乱码的情况。
解决如下:
TXT文件之前默认编码为ANSI,另存为编码为UTF-8的文本文件,在navicat的导入框中即可见中文字符了!
如果还不能解决问题,查看数据库的属性,去掉勾选的“使用mysql字符集”
选项&;另外查看表设计中选项里面的编码改成通用的utf-8;在“编码”处选择65001(UTF-8)。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。}

我要回帖

更多关于 txt文本中文乱码 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信