В моей базе данных MSSQL есть поле типа nvarchar(1)
, что означает, что он поддерживает 2-байтовый юникод. В моем приложении я читаю это поле и сохраняю его в переменную Char следующим образом:
For Each row As DataRow In dataTbl
Dim SomeVar As Char? = If(IsDBNull(row(RowNames.FieldName)), Nothing, CChar(row(RowNames.FieldName)))
Next row
В поле в базе данных в соответствующем ряду стоит 'A', поэтому оно должно быть 0x 0041
Однако, когда я печатаю символ для тестирования, он дает мне , черный бриллиант с вопросительным знаком в браузере (это веб-приложение) или «\ u0000» при использовании сериализатора newtonsoft.
Так, к какому типу переменных мне нужно записать это и как мне выполнить приведение?
Изменить:
Оказывается, ошибка была в том, что я загружал неправильные данные.