나는 이것에 붙어 있습니다. 나는 자바 또는 오라클 전문가가 아니므로 자세한 답변을주십시오 :)오라클 + 삽입 중에 자바 인코딩 문제가 발생했습니다.
저는 DB에 무엇인가를 삽입하는 웹 서비스가 있습니다. 웹 서비스는 축상에서 호스팅됩니다. DB를 다음 속성을 가진 오라클입니다 :
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CHARACTERSET ZHS16GBK
웹 서비스는 윈도우 서버 2008, 영어 버전에서 호스팅되지만 삽입 인코딩을 한 후 내가 중국어
에 이제 데이터를 시스템의 로케일을 변경 한 문제와 같은 이상한 문자를 보여줍니다 ????, exxk ??
jws 파일에 GBK 인코딩이 있습니다. DB에 삽입 된 데이터는 파일에 하드 코딩되어있다. [우리가 요청에서 그것을 읽지 않는다]
[편집] 한 가지만, 전체 DB를 utf-8로 변경할 수 없다. 그것은
기계 일을 더 명확하게 두 개의 소스에서 데이터를 수용 할 수
[더 편집] 테이블의 많은 데이터가 있습니다. 기본적으로 그것은 우리의 가입 된 사용자에게 sms/mms를 보내고받는 데 사용됩니다. 주로, 모든 운영체제가 GBK로 처리되는 GSM 운영자 제어 센터에서 작동합니다. 한편, 기계는 사용자에게 SMS/mms를 보내기 위해 웹 사이트의 요청을 받아들입니다. 여기서 인코딩은 UTF-8로 처리됩니다. 웹 사이트가 사용자에게 SMS를 보내길 원한다면이 컴퓨터에서 웹 서비스를 호출하여 db에 데이터를 삽입합니다 [여기에 문제가 있습니다]. Windows 서비스는 지속적으로 DB를 검사하고 sms/mms를 보내는 새로운 요청을 발견하면 sms/mms를 보내고 레코드를 삭제합니다.
Windows 2003의 중국어 버전이 있기 때문에 모든 것이 이전 컴퓨터에서 제대로 작동했습니다. 새 서버로 업그레이드하고 Windows 2008 서버 영어 버전을 설치했습니다. 이제 웹 서비스가 DB에 삽입 된 후에 데이터가 왜곡됩니다.
당신은 더 나은 데이터가이 처리 된 곳으로, 오는 곳에서 전체 처리 파이프 라인을 표시 할 수 있습니다, 그것은 저장 어디에 마지막으로이 조사 어떻게합니다. 나는 웹 서비스의 역할이 무엇인지는 알 수 없다. 파이프 라인의 어느 시점에서 데이터가 여전히 괜찮은지 알려주실 수 있습니까? 자바와 오라클 모두 인코딩과 문자셋에 대해 알고 있고 변환 할 수 없다면 불평하기 때문에 삽입 자체가 문제가 될지 의심 스럽다. – Codo