문제

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(), 도.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top