Попытка обойти проблему Jboss Hibernate в Java, когда вы не можете обрабатывать типы данных Nvarchar SQL Server из хранимой процедуры. Я не могу преобразовать или преобразовать типы данных в varchar из-за того, что мы храним многобайтовые символы, поэтому тип данных является обязательным. Однако я могу преобразовать тип в varbinary в хранимой процедуре и декодировать в Java.
Процедура SQL Server:
Convert(varbinary, Tile) AS Title
На стороне Java я прочитал набор результатов и поле, теперь закодированное, например
ОБНОВЛЕНО до фактической кодировки:
0x440065007300690067006E0020002600200050006C0061006E006E006900
Я пытаюсь разобрать этот массив байтов в строку следующим образом:
byte[] bytes = (byte[]) dataField[0];
try {
String varbinaryString = new String(bytes, "UTF-8");
System.out.println(varbinaryString);
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Результат в значительной степени представляет собой предполагаемую декодированную строку из поля Заголовок, только она декодируется следующим образом:
D e s i g n & P l a n n i
а не прямо положить
Design & Planning Director
Может ли кто-нибудь помочь мне в дилемме с декодированием Java varbinary типа данных SQL Server?
Заранее спасибо за помощь или подсказки.