2010-05-21 14 views
20

Jak wstawić znaki arabskie do bazy danych sql? Próbowałem wstawić dane arabskie do tabeli, a znaki arabskie w skrypcie wstawiania zostały wstawione w tabeli jako '??????'.Jak wstawić znaki arabskie do bazy danych sql?

Próbowałem bezpośrednio wkleić dane do tabeli przez studio zarządzania sql, a znaki arabskie zostały pomyślnie i dokładnie wstawione.

Rozejrzałem się w poszukiwaniu rozwiązań dla tego problemu, a niektóre wątki sugerowały zmianę typu danych na nvarchar zamiast na varchar. Próbowałem tego również, ale bez powodzenia.

Jak wstawić znaki arabskie do bazy danych sql?

+0

Skąd wiesz, że nie praca? Być może Twój program zapytań nie może drukować znaków Unicode. Jaki program pokazuje "????"? Skąd wiadomo, że może poprawnie wyświetlać kod Unicode? –

+0

W studiu zarządzania SQL, gdy wyszukuję wiersz, wyświetla się on jako "????" i to samo odzwierciedla się w moim programie. – pavanred

Odpowiedz

40

w polu, aby móc przechowywać znaki Unicode, trzeba użyć typu nvarchar (lub inna podobna jak ntext, nchar).

Aby wstawić znaki Unicode w bazie danych trzeba wysłać tekst jako Unicode za pomocą typ parametru jak nvarchar/SqlDbType.NVarChar.

(Dla kompletności: jeśli tworzysz SQL dynamicznie (wobec wspólnej rady), należy umieścić N Przed ciąg dosłownym aby Unicode. Na przykład:. insert into table (name) values (N'Pavan'))

+0

+1 dla przykładu. Dzięki, Guffa. Był inny wątek sugerujący przedrostek "N". Ale nie byłem do końca pewien, gdzie dokładnie to zrobić. – pavanred

+1

+1 za część kompletności, bardzo pouczające. –

+0

+1 dla 'SqlDbType.NVarChar' –

Powiązane problemy