Extended ASCII character problems
390847Jun 9 2003 — edited Aug 4 2010We are having problems with certain characters. If a character in the range ASCII 194-239 appears in a string it can cause the next character to be lost. Everything seems okay in SQL, but not in PL/SQL.
A PL/SQL script to print all the ASCII characters outputs nothing for the above range.
e.g.
DECLARE
v VARCHAR2(100):= 'Requiem por un PolicĂ|xxx|qqq';
BEGIN
dbms_output.put_line(instr(v,'|'));
dbms_output.put_line(substr(v,instr(v,'|')));
END;
The expected results would be 22 and |xxx|qqq, but we actually get 25 and |qqq. The first '|' is being lost somehow.
A test using a Java function retrieving the string from a table failed due to a conversion failure between UTF8 and UCS2.
The NLS language is AMERICAN and the character set is UTF8.
Thanks
--
Steve