Oracle Unicode: differenze tra le versioni
Jump to navigation
Jump to search
Nessun oggetto della modifica |
|||
Riga 1: | Riga 1: | ||
==modalità indipendente dal codeset di sessione== |
==modalità indipendente dal codeset di sessione== |
||
Per funzionare il terminale deve avere lo stesso codeset della connessione oracle (variabile NLS_LANG). |
Per funzionare il terminale deve avere lo stesso codeset della connessione oracle (variabile NLS_LANG). |
||
i terminali linux normalmente hanno codeset UTF8. |
i terminali linux nativi normalmente hanno codeset UTF8. |
||
verifica se il terminale è impostato bene: |
verifica se il terminale è impostato bene: |
||
select 'a minuscola accentata e simbolo euro',unistr('\00E0\20AC') from dual; |
select 'a minuscola accentata e simbolo euro',unistr('\00E0\20AC') from dual; |
||
Riga 24: | Riga 25: | ||
SQL> |
SQL> |
||
===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%'; |
|||
[[Categoria:Database]] |
[[Categoria:Database]] |
Versione delle 10:31, 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;
caratteri estesi
SQL> select UNISTR('\20AC') from dual;
UNISTR('\20AC') -------------------------------------------------------------------------------- €
SQL> select asciistr('€') from dual;
ASCIISTR('€') -------------------------------------------------------------------------------- \20AC
SQL>
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%';