문제는 반환 된 객체의 모든 문자열에 특수 문자가 붙는 것입니다. 예 :데이터베이스에서 반환 할 때 문자열에 특수 문자가 추가됩니다. Oracle 8i 데이터베이스를 쿼리하기 위해 NHibernate를 사용하고 있습니다.
CUSTOMER,ONE�������
NHibernate에 필드 타입 AnsiString을하고 오라클 데이터 유형 CHAR (20)이며, 문자 집합 CHAR_CS이다. :(
문제는 반환 된 객체의 모든 문자열에 특수 문자가 붙는 것입니다. 예 :데이터베이스에서 반환 할 때 문자열에 특수 문자가 추가됩니다. Oracle 8i 데이터베이스를 쿼리하기 위해 NHibernate를 사용하고 있습니다.
CUSTOMER,ONE�������
NHibernate에 필드 타입 AnsiString을하고 오라클 데이터 유형 CHAR (20)이며, 문자 집합 CHAR_CS이다. :(
I cann 이 문제에 대한 적절한 해결책을 찾지 못했지만 nhibernate 드라이버를 'OracleClientDriver'에서 'OleDbDriver'로 변경하면이 문제가 해결됩니다. 아직도이 문제를 올바르게 해결하는 방법을 아는 사람이라면 호환성 문제로 인해 Oracle에 액세스하기 위해 OldDbDriver를 사용하는 것을 좋아하지 않으므로 알려 주시기 바랍니다.
글쎄, 당신은 여전히 당신의 문자열을 패딩하고 있지만, 유효하지 않은 문자 대신에 진짜 공백을 넣을 것이라고 확신합니다. – Mac
문자 집합 문제를 해결하려면 서버 설정 ("SELECT * FROM nls_database_parameters WHERE 매개 변수 IN ('NLS_CHARACTERSET', 'NLS_NCHAR_CHARACTERSET')) 및 클라이언트 설정 (버전, 레지스트리 키 HKEY_LOCAL_MACHINE \ SOFTWARE \ ORACLE \ HOMEID \ NLS_LANG) ... – Mac