SQL SERVER特殊字符乱码的问题

pengdott 2016-11-03 12:53:05
产品名称有一个特殊的字符,插入一条记录到数据库后就变成了乱码,请问各位如何解决?
INSERT INTO TEST
(ID, cusno, cusname)
values
(1, '001', '地韵•幼');
变成了此形式的内容:韵?幼容 即中间的一个点变成了问号
...全文
832 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
渝烽火 2017-01-09
  • 打赏
  • 举报
回复
在oracle是配置环境变量NLS_LANG
tcmakebest 2016-11-04
  • 打赏
  • 举报
回复
ORACLE不可能不支持多语言的, 应该起作用了, 楼主如何看有没有起作用的?
pengdott 2016-11-04
  • 打赏
  • 举报
回复
引用 5 楼 pengdott 的回复:
[quote=引用 3 楼 tcmakebest 的回复:] oracle要用nvarchar2的吧,好久没用了.
nvarchar2试过了,在ORACLE下作用 insert INTO test1611( id ,v1 ,v2 ) VALUES ( 1 -- id - int ,'地韵•幼' -- v1 - varchar(50) ,N'地韵•幼' -- v2 - nvarchar(50) )[/quote] 在ORACLE下不起作用
pengdott 2016-11-04
  • 打赏
  • 举报
回复
引用 3 楼 tcmakebest 的回复:
oracle要用nvarchar2的吧,好久没用了.
nvarchar2试过了,在ORACLE下作用 insert INTO test1611( id ,v1 ,v2 ) VALUES ( 1 -- id - int ,'地韵•幼' -- v1 - varchar(50) ,N'地韵•幼' -- v2 - nvarchar(50) )
中国风 2016-11-03
  • 打赏
  • 举报
回复
INSERT INTO TEST
  (ID, cusno, cusname)
values
 (1, '001', N'地韵•幼');
插入值符加N'字符串',列类型用unicode(nchar/nvarchar)
tcmakebest 2016-11-03
  • 打赏
  • 举报
回复
oracle要用nvarchar2的吧,好久没用了.
pengdott 2016-11-03
  • 打赏
  • 举报
回复
引用 1 楼 ch21st 的回复:
你当前是中文collection下varchar类型字段保存的吧 你将字段类型保存为nvarchar

 
 CREATE TABLE t1(s1 VARCHAR(100),s2 NVARCHAR(100))
 INSERT INTO t1(s1,s2)VALUES(N'地韵•幼',N'地韵•幼')
 SELECT * FROM t1

/*
s1	s2
地韵?幼	地韵•幼
*/
正解,SQL SERVER问题解决了,但是该方法在ORACLE下不行,因为我们用了两套数据库,请问能否再告知一下ORACLE中如何处理,谢谢!
道素 2016-11-03
  • 打赏
  • 举报
回复
你当前是中文collection下varchar类型字段保存的吧 你将字段类型保存为nvarchar

 
 CREATE TABLE t1(s1 VARCHAR(100),s2 NVARCHAR(100))
 INSERT INTO t1(s1,s2)VALUES(N'地韵•幼',N'地韵•幼')
 SELECT * FROM t1

/*
s1	s2
地韵?幼	地韵•幼
*/

34,837

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧