Oracle Unicode: differenze tra le versioni
Jump to navigation
Jump to search
Riga 32: | Riga 32: | ||
\20AC |
\20AC |
||
SQL> |
|||
Questi i principali caratteri accentati: |
Questi i principali caratteri accentati: |
||
Riga 42: | Riga 41: | ||
\00E8\00E9\00F2\00E0\00F9\00BF\00BF\00C8\00BF\00E9\00BF\00C9\00E0\00C0\00BF\00BF |
\00E8\00E9\00F2\00E0\00F9\00BF\00BF\00C8\00BF\00E9\00BF\00C9\00E0\00C0\00BF\00BF |
||
\00CC\00F2\00D2\00F9\00D9 |
\00CC\00F2\00D2\00F9\00D9 |
||
SQL> |
|||
===correggere tabelle con caratteri sporchi=== |
===correggere tabelle con caratteri sporchi=== |
Versione delle 12:36, 26 ott 2022
modalità indipendente dal codeset di sessione
Per funzionare il terminale deve avere lo stesso codeset della connessione oracle (variabile NLS_LANG). i terminali linux nativi normalmente hanno codeset UTF8. verifica se il terminale è impostato bene:
select 'a minuscola accentata e simbolo euro',unistr('\00E0\20AC') from dual;
SQL> select unistr('Modalit\00E0 Euro(\20AC)') from dual;
UNISTR('MODALIT\00E0EURO(\20AC)') ---------------------------------------------------------------- Modalità Euro(€)
SQL>
caratteri estesi
SQL> select UNISTR('\20AC') from dual;
UNISTR('\20AC') -------------------------------------------------------------------------------- €
SQL> select asciistr('€') from dual;
ASCIISTR('€') -------------------------------------------------------------------------------- \20AC
Questi i principali caratteri accentati:
SQL> select asciistr('èÈéÉàÀìÌòÒùÙ') from dual;
ASCIISTR('ÈÉÒÀÙ¿¿È¿É¿ÉÀÀ¿¿ÌÒÒÙÙ') -------------------------------------------------------------------------------- \00E8\00E9\00F2\00E0\00F9\00BF\00BF\00C8\00BF\00E9\00BF\00C9\00E0\00C0\00BF\00BF \00CC\00F2\00D2\00F9\00D9
correggere tabelle con caratteri sporchi
Per trovare le righe con caratteri estesi:
select COLONNA1 || ' ###### ' || asciistr(COLONNA1) from TABELLA1 where asciistr(COLONNA1) like '%\%';
Per modificare i caratteri estesi:
update TABELLA1 set COLONNA1=unistr(replace(asciistr(COLONNA1),'\00E0\00A0','\00E0')) where asciistr(COLONNA1) like '%\00E0\00A0%';