2013-04-28 3 views
1

У меня есть старая система, которая использует varchar тип данных в базе данных для хранения арабских имен, теперь имена появляются в базе данных, как это:Как читать арабские символы из типа данных varchar?

"ãíÓÇÁ ÇáãÈíÖíä" 

Теперь я строй новой системы с помощью VB.NET, как могу Я читал эти имена для арабских символов?

Также мне нужно указать, что в старой системе даже она хранит данные, как я упоминал ранее, он преобразует символы в правильном формате.

Как правильно отобразить его в новой системе и в SQL Server Management Studio?

+0

да, это правильно. как они читают символы правильно? –

+0

ОК, я отметил, что он перенесен на [dba.stackexchange] (http://dba.stackexchange.com/faq), где вы можете получить более качественные ответы. –

+0

Правильно ли установлен порядок сортировки в базе данных для соответствующих столбцов? http://stackoverflow.com/questions/7781103/sql-server-set-character-set-not-collation –

ответ

1

Я столкнулся с той же проблемой, и я решил ее в два этапа:

1.Change тип данных столбца в БД в NVARCHAR

2.Use кодирования для изменения данных на арабский

Я использовал следующую функцию

 private string GetDataWithArabic(string srcData) 
    { 
     Encoding iso = Encoding.GetEncoding("iso-8859-1"); 
     Encoding unicode = Encoding.Default; 
     byte[] unicodeBytes = iso.GetBytes(srcData); 
     return unicode.GetString(unicodeBytes); 
    } 

, но убедитесь, что вы используете этот метод один раз на данных БД, потому что он испортит данные, если используется дважды

Смежные вопросы