Oracle处理特殊字符

 

 

 

检查数据库级的参数设置

select * from nls_database_parameters;

 

 

 

检查实例级的参数设置

select * from nls_instance_parameters

 

检查会话级的参数设置

select * from nls_session_parameters

 

 

检查本地的语言环境

SELECT USERENV('LANGUAGE') FROM DUAL;

 

SIMPLIFIED CHINESE_CHINA.ZHS16GBK

开始处理

  1. 查询    的 ASCII 码

SELECT ASCII()  FROM  DUAL;

 

 

 

可以看到 该字符的 ASCII码 是 7

 

2. 反写确认是否一致

SELECT CHR(7)  FROM  DUAL;

 

没问题

 

---------------------------------------------------------------------------------------------------------------------------

问题:由于录入图书时 图书作者 有特殊字符 ‘’,所以在页面显示 图书作者 有错误,总是出现 ‘•’。现象很明显是   不能正常显示,因此在录入数据的时候 用replace()函数做了判断,采用如下把 字符 ‘•’  替换为 chr(7)。如下:

replace(bk_author,'&'||'#8226;',chr(7))  由于 ‘&’ 是oracle绑定变量的标示符,因此对’&’做了处理

 

以下附带 其它特殊字符的 ASCII码

DECLARE

 V01 VARCHAR2(5);

 BEGIN

 FOR I IN 1..100 LOOP

 SELECT CHR(I) INTO V01 FROM DUAL;

  DBMS_OUTPUT.PUT_LINE('chr'||i||' is '||V01);

 END LOOP;

 END;

 

 

https://it.wikipedia.org/wiki/ASCII

posted @ 2015-08-26 21:33  Oracle-fans  阅读(2684)  评论(0编辑  收藏  举报