CallableStatement SetString- 지원되지 않는 캐릭터?
-
05-07-2019 - |
문제
UTF-8을 인코딩하는 Java 응용 프로그램이 포함되어 있습니다 String
와이어를 통해 수령하여 a에 저장합니다 varchar
내 데이터베이스의 열 (SQL Server 2000). JDBC를 사용하여 레코드를 저장하고 있습니다 CallableStatement
(전화 setString
이 열의 매개 변수를 설정하는 메소드).
제가보고있는 문제는 특별한 것입니다 String
ASCII 값 0을 포함하는 쓰여졌습니다.NUL
). 이것은 SQL Server가 특정 유니 코드 문자를 나타내지 못하고 JDBC 드라이버는 ASCII 값 0으로 대체하기로 결정했지만 잘못되었을 수도 있음을 시사합니다.
- 다른 사람 이이 문제를 겪었습니까?
- 내가
CallableStatement
이 상황에서 실패하라는 전화?
이상적으로는 데이터가 지정된대로 정확하게 저장되었거나 "빠르게 실패"되었음을 보장하고 싶습니다.
내 데이터베이스 문자 세트는입니다 Latin1_General_AS_CS
.
미리 감사드립니다.
해결책
데이터베이스에서 'nvarchar'유형을 사용해야합니다.
다른 팁
단지 흔들림이지만 사용했을 것입니다 .setBytes(String parameterName, byte[] x)
트릭을합니까? 바이트 어레이는 출처입니다 myString.getBytes()
. 다른 문자 세트를 사용하여 사용해 볼 수 있습니다. getBytes()
, 도.
제휴하지 않습니다 StackOverflow