У меня есть приложение Java, декодирующее UTF-8 в кодировке String
, полученное по кабелю, и сохраняющее его в столбце varchar
в моей базе данных (SQL Server 2000). Я сохраняю запись, используя JDBC CallableStatement
(вызывая метод setString
для установки параметра для этого столбца).
Проблема, с которой я сталкиваюсь, заключается в том, что был записан конкретный String
, содержащий значение ASCII 0 (NUL
). Это говорит о том, что сервер SQL не может представлять определенный символ Unicode, а драйвер JDBC решил заменить значение ASCII на 0, хотя я могу ошибаться.
- Кто-нибудь еще сталкивался с этой проблемой?
- Есть ли механизм, который я могу использовать, чтобы вызвать сбой вызова
CallableStatement
в этой ситуации?
В идеале я хотел бы гарантировать, что данные были сохранены в точности так, как указано, иначе "быстро сбой".
Мой набор символов базы данных Latin1_General_AS_CS
.
Заранее спасибо.