<trimmed due to overquoting..> Gabriel,NLS is a quagmire of code pages and proprietary encoding pages. Unicode tries to unify all that and give us a reliable way out. Unfortunately it introduces some confusion all its own, by moving characters around and allowing named subsets...
The ASCII art characters that you try to produce existed in DOS code pages, but the don't exist in Extended ASCII, which is standardised as ISO 8859-1 (see http://en.wikipedia.org/wiki/Extended_ASCII). You are using UTF-8 in your example, in which the first 256 characters correspond to ISO 8859-1 and don't contain the drawing symbols. In Unicode they can be found from 0x2500 upward (i.e. 9472 decimal).
E.g. (my test database has unicode only as the national character set, so I use nchr):
$ export NLS_LANG=AMERICAN_AMERICA.UTF8 $ sqlplus / ... SQL> select nchr(9484)||nchr(9472)||nchr(9488) from dual; NCHR(9484 ========= ┌─┐The complete set is shown on http://en.wikipedia.org/wiki/Box_drawing_characters (note that the unicode values are in hex).
Hope this helps, Cheers, Tony On 26/03/10 2:02 AM, Aragon, Gabriel (GE, Corporate, consultant) wrote:
No luck, I just cant get desired character, am I doing something wrong? sql>select parameter, value from v$nls_parameters where parameter in('NLS_LANGUAGE','NLS_TERRITORY','NLS_CHARACTERSET') ; PARAMETER VALUE ------------------ ------------------------------------------------------- NLS_LANGUAGE AMERICAN NLS_TERRITORY AMERICA NLS_CHARACTERSET UTF8 $ NLS_LANG=AMERICAN_AMERICA.UTF8; export NLS_LANG $ echo $NLS_LANG AMERICAN_AMERICA.UTF8 sql> declare x char(5); begin for i in 124..219 loop select chr(i) into x from dual; dbms_output.put_line(i||'-'||x); end loop; end; / 2 3 4 5 6 7 8 9 10 124-|
-- //www.freelists.org/webpage/oracle-l