2010-05-21 27 views
20

Come posso inserire caratteri arabi nel database sql? Ho provato ad inserire dati arabi in una tabella e i caratteri arabi nello script di inserimento sono stati inseriti come '??????' nella tabella.Come inserire caratteri arabi nel database sql?

Ho provato a incollare i dati direttamente nella tabella tramite lo studio di gestione SQL ei caratteri arabi sono stati inseriti correttamente e con precisione.

Ho cercato soluzioni per questo problema e alcuni thread suggerivano di cambiare il tipo di dati in nvarchar anziché varchar. Ho provato anche questo, ma senza fortuna.

Come possiamo inserire caratteri arabi nel database sql?

+0

Come fai a sapere che non ha fatto lavoro? Forse il tuo programma di query non può stampare caratteri Unicode. Quale programma mostra "????"? Come sai che può mostrare correttamente Unicode? –

+0

Nello studio di gestione SQL, quando interrogo la riga, viene visualizzato come "????" e lo stesso si riflette nel mio programma. – pavanred

risposta

40

Affinché il campo possa memorizzare caratteri unicode, è necessario utilizzare il tipo nvarchar (o altro simile a ntext, nchar).

Per inserire i caratteri unicode nel database, è necessario inviare il testo come unicode utilizzando un tipo di parametro come nvarchar/SqlDbType.NVarChar.

(Per completezza: se si crea SQL dinamico (contro il parere dei comuni), si mette un N prima di una stringa letterale per renderlo unicode. Ad esempio:. insert into table (name) values (N'Pavan'))

+0

+1 per l'esempio. Grazie Guffa. C'era un altro thread che suggeriva di prefisso 'N'. Ma non ero abbastanza sicuro di dove esattamente farlo. – pavanred

+1

+1 per la tua parte di completezza, molto informativo. –

+0

+1 per 'SqlDbType.NVarChar' –

Problemi correlati