关于SQL SERVER 2000数据库乱码问题 sphelp 表名先看一下那个字段类型是不是nvarchar.如果是,插入中文的时候前面加个大写的N试试.insert tb(col) values(N'中文') 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 DECLARE @T TABLE([NAME] NVARCHAR(10)) --UNICODE类型 INSERT @T SELECT N'行列轉換'INSERT @T SELECT '行列轉換'SELECT * FROM @T/*NAME----------行列轉換????*/ 字段用Nvarchar,插入字段前加N 声明列为nvarchar ,保存时候,N'字段'声明列为varchar collate选择unicode, 保存时候 ,'字段'即可 ALTER DATABASE [test-2009] COLLATE Latin1_General_Ci_AigoDECLARE @T TABLE([NAME] NVARCHAR(10)) --UNICODE类型 INSERT @T SELECT N'行列轉換'INSERT @T SELECT '行列轉換'SELECT * FROM @T 1、设置数据库的排序规则2、列的数据类型改为nvarchar(长度)类型的 字段用Nvarchar,插入字段前加N查一下,你选择的字符集,还有排序规则~ 数据库里面的设置是不能随便设置的哦,要不,在ERP软件里面打开是乱码了。 目前該表的中文字段是varchar類型 更改数据库默认环境: 或把数据库放在中文系统,处理完排序规则后再导入: 两个不同的库 A库的排序规则是SQL_Latin1_General_CP1_CI_AS B 库的排序规则是 Chinese_PRC_CI_AS 现在A 库有一部分表的数据需要同步到 B来, 由于排序规则不一样,A 库中包含中文的数据(类型:varchar,char) 同步到B库中时出现乱码,两个库的排序规则都不能改动,数据类型不改为:NVARCHAR 有没有好的办法让A库到B库包含中文的数据不乱码 --------------------------------------------------------------- 那就只能在B库的表创建时,为将要包含中文的列指定排序规则为Chinese_PRC_CI_AS。 --------------------------------------------------------------- 并不是让你修改整个库的排序规则,只是设置表中个别字段的排序规则。 --------------------------------------------------------------- 试试: bcp 从源库导出到文件, 用/N参数 然后用bcp导入到目的表, 也用/N参数 对于非unicode数据, 乱码是一种解码错误的表现, 编码按照输入者的系统的编码存放到数据库, 在调用者的系统上, 如果这个编码不能被正确识别(一般是找不到对应的代码页, 或者解码规则不同), 则出现的是乱码. 对于查询分析器和ODBC查询不正常, 这个是因为进行了"字符数据的转换" 你试试在查询分析器的工具--选项--连接中, 把"执行字符数据转换"的选择去掉, 确定后, 重新启动查询分析器, 再做你的测试, 这样应该就是正常的了. ODBC查询, 在建立DSN的时候, 一样可以设置"执行字符数据转换"这个选项的 另外, 你试试用sql的导入/导出向导. 复制的方式选择"在两个sql server数据库之间复制对象和数据" 最后一步的设置中, 把创建目的对象的选择取消, 保证选择了"应用排序规则", 复制所有对象也取消, 单击对象自己选择要复制的对象 其他的设置自己看着办吧, 一般可以不选, 因为只是复制数据 安装sqlserver时候的排序规则要选Chinese_PRC_CI_AS sqlserver的游标怎么那么慢啊 错误删除数据库后的恢复? 求一更新语句 求两个SQL语句 支持一下,谢谢! (急急)数据库镜像报 服务器网络地址"TCP://镜像IP:port"无法访问或不存在。请检查地址名称,并检查本地和远程端点的端口是否正常”错误 求两个sql语句!谢谢! 这样的查询能否用一条sql语句实现? 如何批量写入数据到SQL PL_SQL中存储过程的问题,请高手帮忙... 如何使用sql语句将sybase数据库中的数据导入ms sql server 请高手点评:国内知名论坛的索引结构是弱智还是大师的手笔?
INSERT @T SELECT N'行列轉換'
INSERT @T SELECT '行列轉換'
SELECT * FROM @T
/*NAME
----------
行列轉換
????*/
goDECLARE @T TABLE([NAME] NVARCHAR(10)) --UNICODE类型
INSERT @T SELECT N'行列轉換'
INSERT @T SELECT '行列轉換'
SELECT * FROM @T
2、列的数据类型改为nvarchar(长度)类型的
查一下,你选择的字符集,还有排序规则~
更改数据库默认环境:
或把数据库放在中文系统,处理完排序规则后再导入: 两个不同的库 A库的排序规则是SQL_Latin1_General_CP1_CI_AS
B 库的排序规则是 Chinese_PRC_CI_AS 现在A 库有一部分表的数据需要同步到 B来,
由于排序规则不一样,A 库中包含中文的数据(类型:varchar,char) 同步到B库中时出现乱码,两个库的排序规则都不能改动,数据类型不改为:NVARCHAR
有没有好的办法让A库到B库包含中文的数据不乱码
--------------------------------------------------------------- 那就只能在B库的表创建时,为将要包含中文的列指定排序规则为Chinese_PRC_CI_AS。
--------------------------------------------------------------- 并不是让你修改整个库的排序规则,只是设置表中个别字段的排序规则。
--------------------------------------------------------------- 试试:
bcp 从源库导出到文件, 用/N参数
然后用bcp导入到目的表, 也用/N参数 对于非unicode数据, 乱码是一种解码错误的表现, 编码按照输入者的系统的编码存放到数据库, 在调用者的系统上, 如果这个编码不能被正确识别(一般是找不到对应的代码页, 或者解码规则不同), 则出现的是乱码. 对于查询分析器和ODBC查询不正常, 这个是因为进行了"字符数据的转换" 你试试在查询分析器的工具--选项--连接中, 把"执行字符数据转换"的选择去掉, 确定后, 重新启动查询分析器, 再做你的测试, 这样应该就是正常的了. ODBC查询, 在建立DSN的时候, 一样可以设置"执行字符数据转换"这个选项的 另外, 你试试用sql的导入/导出向导.
复制的方式选择"在两个sql server数据库之间复制对象和数据" 最后一步的设置中, 把创建目的对象的选择取消, 保证选择了"应用排序规则", 复制所有对象也取消, 单击对象自己选择要复制的对象
其他的设置自己看着办吧, 一般可以不选, 因为只是复制数据