作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的 oracle 版本是 11g,安装在 linux 上。客户端是xp。
现在,通过PL/SQL查询数据和中文抓取;像这样(字段名称):
在 pl/sql 中执行命令:"select userenv('language') from dual;"并显示
SIMPLIFIED CHINESE_CHINA.AL32UTF8(I think it is Server-side character set)
SIMPLIFIED CHINESE_CHINA.ZHS16GBK (I think it is Client-side character set)
SIMPLIFIED CHINESE_CHINA.AL32UTF8
select dump(name,1016) from MN_C11_SM_S31 where objectid=1;
最佳答案
你需要小心。
SQLplus 和 OracleSqlDeveloper 实际上可能会错误地显示中文字符。
并且您需要为中文字符串取一个 nvarchar (utf8) 字段。
尝试使用 C# Windows 应用程序输入、插入和显示数据,它内部使用 unicode,因此您至少可以排除该错误源。不要使用控制台应用程序进行显示,控制台应用程序无法正确显示 Unicode 字符。
然后,您需要将字符串存储在 nvarchar 字段(不是 varchar)中,并在插入字符串时使用 nvarchar 类型的参数。
INSERT INTO YOUR_TABLE (newname)
VALUES (:UnicodeString)
command.Parameters.Add (":UnicodeString", OracleType.NVarChar).Value = stringToSave;
关于sql - oracle中PL/SQL中文乱码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19677429/
我是一名优秀的程序员,十分优秀!