November 23
database Oracle supportano una vasta gamma di schemi di codifica, tra cui, codici internazionali e nazionali specifici del produttore. Gli amministratori di database possono personalizzare i database per soddisfare particolari schemi di codifica, o set di caratteri. Quando i caratteri speciali devono essere memorizzati in una tabella di database, una rappresentazione alfanumerica nota come esadecimale o Unicode, valore viene utilizzato per rappresentare un carattere. Il valore Unicode che definisce la lettera greca delta è "0394" e il valore che definisce l'equivalente latino è "018D".
1 Aprire una sessione di riga comando SQL * Plus.
2 Determinare se il database è stato configurato per il supporto Unicode. Digitare la seguente query sulla riga di comando per mostrare quale set di caratteri è attualmente definito per il database:
Scelta da SYS.NLS_CHARACTERSET_PARAMETERS
DOVE PARAMETRO = 'NLS_CHARACTERSET';
dove "VALORE" indica il set di caratteri corrente.
3 Modificare il set di caratteri a uno UTF-8 o UTF-16 se e solo se il nuovo tipo di carattere è una rigorosa superset di quello vecchio. Verificare che un backup completo del database esistente prima di modificare il set di caratteri, utilizzando la seguente istruzione come un esempio:
ALTER DATABASE SET CARATTERI AL32UTF8;
dove il valore "AL32UTF8" specifica lo schema di codifica UTF-8. Sostituire "AL32UTF8" con "AL16UTF16", se si decide di utilizzare UTF-16.
4 Verificare che il campo che conterrà il valore Unicode è un tipo di dati CHAR, VARCHAR2, NCHAR o CLOB. Modificare il tipo di dati del campo, se necessario, per consentire il campo per contenere un valore Unicode.
5 Applicare la funzione "UNISTR" per inserire il carattere delta greco o latino nel campo designato. Utilizzare la stringa esadecimale '0394' per la lettera greca o '018D' per l'equivalente latino. Digitare le seguenti dichiarazioni nel riga di comando:
INSERT INTO MY_TABLE (UNICD_COL)
VALORI (UNISTR ( '\ 0394');
COMMETTERE;
dove "MY_TABLE" è il nome della tabella di database, "UNICD_COL" è il nome del campo e "\ 0394" rappresenta il valore Unicode per la lettera greca delta.
6 Selezionare la colonna dalla tabella per verificare che il valore Unicode ha tradotto correttamente. Al termine, uscire dalla sessione SQL * Plus.