| character translation [message #562367] |
Tue, 31 July 2012 15:13  |
 |
BeefStu
Messages: 184 Registered: October 2011
|
Senior Member |
|
|
Can some tell me what I need to do to avoid character translation?
Note the character 'Ã' was translated into a '?'
Thanks to all who answer
SQL> SELECT value$ FROM sys.props$ WHERE name = 'NLS_CHARACTERSET' ;
VALUE$
-----------------------------------------
WE8ISO8859P1
SQL> SELECT * FROM NLS_DATABASE_PARAMETERS;
PARAMETER VALUE
------------------------------ ----------------------------------------
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CURRENCY $
NLS_ISO_CURRENCY AMERICA
NLS_NUMERIC_CHARACTERS .,
NLS_CHARACTERSET WE8ISO8859P1
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD-MON-RR
NLS_DATE_LANGUAGE AMERICAN
NLS_SORT BINARY
NLS_TIME_FORMAT HH.MI.SSXFF AM
PARAMETER VALUE
------------------------------ ----------------------------------------
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
NLS_DUAL_CURRENCY $
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE
NLS_NCHAR_CHARACTERSET AL16UTF16
NLS_RDBMS_VERSION 11.2.0.2.0
20 rows selected.
SQL> insert into xxx values ('MagalhÃ.£es Jr');
1 row created.
SQL> commit;
Commit complete.
SQL> select * from xxx;
A
--------------------
Magalh?.??es Jr
|
|
|
|
|
|
| Re: character translation [message #562370 is a reply to message #562369] |
Tue, 31 July 2012 18:07   |
 |
BeefStu
Messages: 184 Registered: October 2011
|
Senior Member |
|
|
SQL> SELECT ASCIISTR(A) from xxx;
ASCIISTR(A)
-----------------------------------
Magalh\00BF.\00BF\00BFes Jr
SQL> select dump(a,16) from xxx;
DUMP(A,16)
----------------------------------
Typ=1 Len=15: 4d,61,67,61,6c,68,bf,2e,bf,bf,65,73,20,4a,72
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Re: character translation [message #562763 is a reply to message #562761] |
Sat, 04 August 2012 13:05   |
 |
Michel Cadot
Messages: 54129 Registered: March 2007 Location: Nanterre, France, http://...
|
Senior Member Account Moderator |
|
|
A quick search on the web directs me to this page:
Quote:"C" - the standard value, usually the default, the same like not setting the category at all. 7-bit ASCII charset, no goodies.
So à is not supported.
Quote:Now try "locale -a" to see the available values for the locale on your system.
So do it.
Quote:A correct value for western-europe 8-bit likely "sounds" like "iso88591" or "en_US", because on numerous Unix systems I tried it was always one of the following:
iso_8859_1, en_US, en_US.iso88591, en_US.ISO8859-1, en_US.ISO_8859-1.
Which should be a good value as your database character set is WE8ISO8859P1 (but only if it is in the previous list).
Quote:Look for manual pages like 'environ(5)/(7), locale(1)/(7)/(5), setlocale(3C)/(3), localedef(4), i18n_intro(5), l10n_intro(5),' etc, and find out about all the according environment variables, the most important ones being LC_ALL, LC_CTYPE, LC_MESSAGES and LANG.
Pay attention to chose the proper section, because there might be several entries with the same name. This means for example "man 5 environ" (or "man -s5 environ" on Solaris). The numbers in parentheses above are suggestions for sections in which you might find them. -- It's time to do "man man" now, if you didn't knew that by heart.
A good reading with many other information about character set on Unix.
Regards
Michel
[Updated on: Sat, 04 August 2012 13:06] Report message to a moderator
|
|
|
|
|
|
|
|
|
|
|
|
| Re: character translation [message #563755 is a reply to message #562929] |
Thu, 16 August 2012 15:14  |
 |
BeefStu
Messages: 184 Registered: October 2011
|
Senior Member |
|
|
My solution was to rebuild my DB with these values. Thanks to all who commented.
...
...
character set AL32UTF8
national character set AL16UTF16
...
...
|
|
|
|