memorizzare arabo nel database SQL

Ho provato a memorizzare la stringa araba nel database SQL 2008 ma è stata convertita in “punto interrogativo” perché? e cosa dovrei fare?

Devi scegliere un confronto arabo per le tue colonne varchar / char o usare Unicode (nchar / nvarchar)

 CREATE TABLE #test ( col1 VARCHAR(100) COLLATE Latin1_General_100_CI_AI, col2 VARCHAR(100) COLLATE Arabic_CI_AI_KS_WS, col3 NVARCHAR(100) ) INSERT INTO #test VALUES(N'لا أتكلم العربية',N'لا أتكلم العربية',N'لا أتكلم العربية') SELECT * FROM #test 

ritorna

 col1 col2 col3 ------------------------------ ------------------------------ ------------------------------ ?? ????? ??????? لا أتكلم العربية لا أتكلم العربية 

Utilizzare un elenco di regole di confronto in arabo

 SELECT name, description FROM fn_helpcollations() WHERE name LIKE 'Arabic%' 

Tutto quello che devi fare è assicurarti che

il column Data type della column Data type è nvarchar()

inserisci la descrizione dell'immagine qui

successivamente ho inserito l’arabo senza problemi

inserisci la descrizione dell'immagine qui

È ansible modificare le regole di confronto sul livello del database anziché modificarle per ogni colonna nel database:

 USE master; GO ALTER DATABASE TestDB COLLATE Arabic_CI_AI; GO 

inserire in valori tabella (colonna) ( N ‘xxx’).)

Dovresti inserire N prima di string per renderlo unicode

assicurati che tutte le tue tabelle e le tue colonne varchar abbiano le regole di confronto di utf8_general_ci

Iti è facile da memorizzare la stringa araba in Oracle. Usa questo codice:

 declare @P_CUSTOMER_NAME nchar(50) set @P_CUSTOMER_NAME2=N'أختبار' 

Quanto sopra salverà in Oracle bene.