오라클에서 UTF8을 표시하도록 세션을 변경하려면 어떻게 해야 합니까?
Oracle의 암호화 구문을 아무리 생각해도 알 수가 없습니다.이것은 Oracle 10g입니다.
내 세션의 NLS_Language가 현재 기본값으로 미국으로 설정되어 있습니다.나는 UTF8 캐릭터를 보여줄 수 있어야 합니다.
다음은 제가 시도한 몇 가지 내용입니다. 모두 잘못된 것입니다.
ALTER SESSION SET NLS_LANGUAGE='UTF8'
ALTER SESSION SET NLS_LANGUAGE='AMERICAN_AMERICA.UTF8'
비밀 지령이 뭐죠?
문자 집합은 로케일의 일부이며, 이는 다음 값에 의해 결정됩니다.NLS_LANG
설명서에서 설명하는 것처럼 이것은 운영 체제 변수입니다.
NLS_LANG
는 UNIX 플랫폼에서 환경 변수로 설정됩니다.NLS_LANG
는 윈도우즈 플랫폼의 레지스트리에 설정되어 있습니다.
이제 사용할 수 있습니다.ALTER SESSION
NLS_LANGUAGE 및 NLS_TERRORITY라는 두 가지 로케일 요소의 값을 변경합니다.하지만, 아아, 캐릭터 세트는 아닙니다.이러한 불일치의 이유는 언어와 영역이 단순히 Oracle이 저장된 데이터를 해석하는 방식에 영향을 미치기 때문입니다. 예를 들어, 큰 숫자를 표시할 때 쉼표나 마침표를 표시할지 여부입니다.문자 집합은 클라이언트 응용 프로그램이 표시된 데이터를 렌더링하는 방법과 관련이 있습니다.이 정보는 시작 시 클라이언트 응용프로그램에서 선택하며, 내부에서 변경할 수 없습니다.
좋아요, http://www.oracle.com/technology/tech/globalization/htdocs/nls_lang%20faq.htm 에 따르면:
NLS_LANG는 ALTER SESSION, NLS_LANGUAGE 및 NLS_TERRORITY에서 변경할 수 없습니다.그러나 NLS_LANGUAGE 및/또는 NLS_TERRORITY는 클라이언트의 환경 또는 레지스트리에서 "독립 실행형" 매개 변수로 설정할 수 없습니다.
Oracle에 로그인하기 전에 다음과 같은 환경 변수를 설정하는 것이 "올바른" 솔루션임이 분명합니다.
export NLS_LANG=AMERICAN_AMERICA.UTF8
Oracle은 유용성을 위해 큰 F를 얻습니다.
따라서 OS에서 '$ sqlplus'를 시작하기 전에 다음을 실행합니다.
Windows에서
set NLS_LANG=아메리칸_아메리카.UTF8
유닉스(Solaris 및 리눅스, Centos 등)
내보내기 NLS_LANG=AMERICAN_AMERICA.UTF8
또한 '.bash_profile' [시작 스크립트에서]에 env 변수를 설정하는 것이 좋습니다.
이 위치는 일반적으로 다른 ORACLE 환경 변수(ORACLE_SID, ORACLE_HOME)가 설정되는 위치입니다.
just fyi - SQL Developer는 영어가 아닌 UTF8 문자를 잘 표시/처리합니다.
언급URL : https://stackoverflow.com/questions/1998771/in-oracle-how-do-i-change-my-session-to-display-utf8
'programing' 카테고리의 다른 글
Oracle, PostgreSQL 및 SQL Server에서 타임스탬프를 비교하는 일반적인 방법 (0) | 2023.06.25 |
---|---|
Oracle SQL에서 지정된 열을 모두 선택하는 것이 잘못된 이유는 무엇입니까? (0) | 2023.06.25 |
GitHub에서 Git 커밋 메시지 편집 (0) | 2023.06.25 |
텍스트가 잘리거나 기본 키를 포함한 하나 이상의 문자가 대상 코드 페이지에 일치하지 않습니다. (0) | 2023.06.25 |
git 원격 업데이트와 fetch의 차이점은 무엇입니까? (0) | 2023.06.25 |