2012-06-18 3 views
1

Java (hibernate 3.0/jpa)를 사용하여 Oracle 데이터베이스에 중국어 문자를 삽입해야하므로 많은 방법을 시도했지만 실패했습니다.Java를 사용하여 Oracle DB에 중국어 문자를 삽입하는 방법

내가 엔터티를 유지할 때 (???) 필드에 표시되고 값을 검색 할 때 동일한 결과가 표시됩니다.

내 오라클 NLS_DATABASE_PARAMETERS :

NLS_CHARACTERSET WE8MSWIN1252 
NLS_NCHAR_CHARACTERSET AL16UTF16 

열 유형은 NVARCHAR이다. persistence.xml에서이 속성을 설정했습니다.

<property name="hibernate.connection.useUnicode" value="true" /> 
<property name="hibernate.connection.characterEncoding" value="UTF-8"/> 
<property name="hibernate.connection.charSet" value="UTF-8"/> 

답변

1

SQL 서버에서 동일한 문제가 발생했으며 모든 varchar 필드를 nvarchar로 변환하여 해결했습니다. 또한 모든 해당 저장 프로 시저 및 리턴 유형을 변경해야합니다. 모든 프로 시저에도 nvarchar 데이터 유형이 있는지 확인하십시오.

2

가능한 경우 데이터베이스를 문자 집합 WE8MSWIN1252에서 AL32UTF8 (새 Oracle 설치의 기본값)으로 변환하십시오. 그렇다면 모든 문제는 사라질 것이고 NCHAR이나 NVARCHAR 또는 특별한 연결 설정과 같은 문제가있는 데이터 유형을 사용할 필요가 없습니다.

+0

나는 그것을 할 수 없다 !!!! – user1025523

관련 문제