Первоначально BLOB находится в формате UTF-8? Если в XML это действительно , я бы использовал API-интерфейсы XML для чтения и интерпретации заголовка. Заголовок (если имеется) может указывать кодировку символов. См. DocumentBuilder и считайте BLOB как InputStream, чтобы избежать любых преобразований байтов в символы на вашей стороне.
Обратите внимание, что когда вы конвертируете его в строку, вы не указываете там кодировку байта в символ.
// Converting to String and doing operation
s = new String(bdata);
Выше используется кодировка по умолчанию, с которой работает JVM (doc здесь ). Так что я думаю, что есть вероятность ошибки в вышеприведенном. Я бы подтвердил кодировку символов BLOB и применил кодировку byte-char в преобразовании String.
Кроме того, я не могу вспомнить, допустимо ли UTF8
в дополнение к UTF-8
для указания кодировки. Я думаю, это может быть потому, что я ожидал бы исключение в противном случае, но, возможно, стоит проверить.