문제

.NET 프로그램(ODBC 사용)이나 데이터베이스 관리 도구(Java로 작성)를 통해 데이터베이스에 액세스할 수 있습니다.

.NET 프로그램에서 데이터베이스에 'é' 문자를 쓰면 DB 관리 도구에서 'Õ'(물결표가 포함된 대문자 O)로 표시됩니다.

DB 관리 도구에서 데이터베이스에 'é' 문자를 쓰면 .NET 프로그램에서는 'Å'(원이 위에 원이 있는 대문자 A)로 표시됩니다.

실제로 문제를 해결하려고 하는 것이 아닙니다(예:두 프로그램 모두 동일한 내용을 표시하도록 하는 것), 그래도 좋을 것 같습니다..NET을 사용하여 데이터를 덤프하고 도구를 사용하여 다시 입력하면 변환을 직접 수행할 수 있도록 각각이 데이터를 해석하는 데 어떤 문자 집합을 사용하는지 추측하려고 합니다.

그렇다면 위에서 설명한 문자 불일치를 발생시키는 2개의 문자 세트 조합은 무엇입니까?

당신의 도움을 주셔서 감사합니다.

편집하다: Sybase ASE 12.5 사용

편집하다: 기본적으로 질문은 다음과 같습니다.E9 코드 포인트가 'Õ'(물결 기호가 있는 대문자 O) 또는 'Å'(위에 원이 있는 대문자 A)를 나타내는 문자 인코딩을 알고 계십니까?(이것은 그들 중 하나가 라틴어 1을 사용하고 있다고 가정하므로 E9일 가능성이 매우 높습니다.)

편집하다: Paul의 솔루션이 이를 수행합니다.문자 세트에 대한 대답은 다음과 같습니다. HP-로마8

도움이 되었습니까?

해결책

서버와 클라이언트에서 서로 다른 문자 집합이 사용되는 경우 Sybase는 자동으로 변환을 시도합니다.다음을 사용하여 자동 문자셋 변환을 끄면,

set char_convert off

아직도 같은 'Õ'와 'Å'를 사용하나요?

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