23.3. 캐릭터 세트 지원

캐릭터 설정 지원토토 사이트 순위ISO 8859 시리즈와 같은 단일 바이트 문자 토토 사이트 순위 및와 같은 단일 바이트 문자 토토 사이트 순위를 포함하여 다양한 문자 토토 사이트 순위 (인코딩이라고도 함)에 텍스트를 저장할 수 있습니다.euc(확장 UNIX 코드), UTF-8 및 노새 내부 코드. 모든 지원되는 문자 토토 사이트 순위는 클라이언트가 투명하게 사용할 수 있지만 몇 가지는 서버 내에서 사용하기 위해 지원되지 않습니다 (즉, 서버 측 인코딩). 기본 문자 토토 사이트 순위는 초기화하는 동안 선택됩니다토토 사이트 순위데이터베이스 클러스터 사용initdb. 데이터베이스를 만들 때 재정의 할 수 있으므로 다른 문자 토토 사이트 순위가 다른 여러 데이터베이스를 가질 수 있습니다..

중요한 제한 사항은 각 데이터베이스의 문자 토토 사이트 순위가 데이터베이스와 호환되어야한다는 것입니다.LC_CTYPE(캐릭터 분류) 및lc_collate(문자열 정렬 순서) 로케일 설정. 을 위한C또는posix로케일, 모든 문자 토토 사이트 순위가 허용되지만 다른 LIBC가 제공 한 로케일의 경우 올바르게 작동하는 문자 토토 사이트 순위는 하나뿐입니다. (그러나 Windows에서는 UTF-8 인코딩을 모든 로케일과 함께 사용할 수 있습니다.) ICU 지원이 구성된 경우 ICU 제공된 로케일은 대부분의 서버 측 인코딩과 함께 사용할 수 있습니다..

23.3.1. 지원되는 문자 토토 사이트 순위

표 23.1토토 사이트 순위.

표 23.1. 토토 사이트 순위문자 토토 사이트 순위

이름 설명 언어 Server? ICU? 바이트/char 별칭
big5 Big Five 전통 중국어 아니오 아니오 1–2 Win950, Windows950
EUC_CN 확장 UNIX Code-CN 단순화 된 중국어 1–3
EUC_JP 확장 유닉스 코드 -JP 일본어 1–3
euc_jis_2004 확장 UNIX Code-JP, JIS X 0213 일본어 아니오 1–3
euc_kr 확장 UNIX 코드 -KR 한국어 1–3
EUC_TW 확장 UNIX Code-TW 전통 중국어, 대만 1–4
GB18030 국가 표준 중국어 아니오 아니오 1–4
GBK 확장 된 국가 표준 단순화 된 중국어 아니오 아니오 1–2 Win936, Windows936
ISO_8859_5 ISO 8859-5,ECMA 113 라틴/키릴 1
ISO_8859_6 ISO 8859-6,ecma 114 라틴/아랍어 1
ISO_8859_7 ISO 8859-7,ecma 118 라틴/그리스어 1
ISO_8859_8 ISO 8859-8,ecma 121 라틴/히브리어 1
Johab Johab 한국 (Hangul) 아니오 아니오 1–3
Koi8R Koi8-r 키릴 릭 (러시아어) 1 KOI8
Koi8U Koi8-U 키릴 릭 (우크라이나) 1
latin1 ISO 8859-1,ecma 94 서유럽 1 ISO88591
latin2 ISO 8859-2,ECMA 94 중앙 유럽 1 ISO88592
latin3 ISO 8859-3,ecma 94 남부 유럽 1 ISO88593
latin4 ISO 8859-4,ecma 94 북유럽 1 ISO88594
latin5 ISO 8859-9,ecma 128 터키 1 ISO88599
latin6 ISO 8859-10,ecma 144 Nordic 1 ISO885910
latin7 ISO 8859-13 Baltic 1 ISO885913
latin8 ISO 8859-14 Celtic 1 ISO885914
latin9 ISO 8859-15 유로 및 악센트가있는 Latin1 1 ISO885915
latin10 ISO 8859-16,asroSR 14111 루마니아어 아니오 1 ISO885916
mule_internal 뮬 내부 코드 다국어 EMACS 아니오 1–4
sjis Shift JIS 일본어 아니오 아니오 1–2 MSKANJI, Shiftjis, Win932, Windows932
shift_jis_2004 Shift JIS, JIS X 0213 23138_23148 아니오 아니오 1–2
SQL_ASCII 지정되지 않은 (텍스트 참조) any ​​예 아니오 1
UHC Unified Hangul 코드 한국어 아니오 아니오 1–2 Win949, Windows949
UTF8 유니 코드, 8 비트 all 1–4 유니 코드
Win866 Windows CP866 Cyrillic 1 alt
Win874 Windows CP874 타이 아니오 1
Win1250 Windows CP1250 중앙 유럽 1
Win1251 Windows CP1251 Cyrillic 1 WIN
Win1252 Windows CP1252 서유럽 1
Win1253 Windows CP1253 Greek 1
Win1254 Windows CP1254 터키 1
Win1255 Windows CP1255 히브리어 1
Win1256 Windows CP1256 아랍어 1
Win1257 Windows CP1257 Baltic 1
Win1258 Windows CP1258 베트남어 1 ABC, TCVN, TCVN5712, VSCII

모든 클라이언트는 아닙니다APIS는 모든 나열된 문자 토토 사이트 순위를 지원합니다. 예를 들어,토토 사이트 순위JDBC 드라이버는 지원하지 않습니다mule_internal, latin6, latin8latin10.

theSQL_ASCII설정은 다른 설정과 상당히 다르게 작동합니다. 서버 문자 토토 사이트 순위가있을 때SQL_ASCII, 서버는 ASCII 표준에 따라 바이트 값 0–127을 해석하는 반면 바이트 값 128–255는 해석되지 않은 문자로 간주됩니다. 설정이있을 때 인코딩 변환이 수행되지 않습니다SQL_ASCII. 따라서이 설정은 인코딩에 대한 무지 선언으로 특정 인코딩이 사용되는 선언이 아닙니다. 대부분의 경우 ASCII가 아닌 데이터를 사용하는 경우 사용하는 것은 현명하지 않습니다.SQL_ASCII설정토토 사이트 순위ASCII가 아닌 문자를 변환하거나 검증하여 도움을 줄 수 없습니다.

23.3.2. 문자 토토 사이트 순위 설정

initdba의 기본 문자 토토 사이트 순위 (인코딩)를 정의합니다.토토 사이트 순위클러스터. 예를 들어,

initdb -e euc_jp

기본 문자를 설정합니다.EUC_JP(일본어의 확장 유닉스 코드). 사용할 수 있습니다-encoding대신-e더 긴 옵션 문자열을 선호하는 경우. 그렇지 않은 경우-e또는-encoding옵션이 제공됩니다,initdb지정된 또는 기본 로케일을 기반으로 사용할 적절한 인코딩을 결정하려고 시도합니다.

인코딩이 선택한 로케일과 호환되는 경우 데이터베이스 생성 시간에 비 기본 인코딩을 지정할 수 있습니다..

createb -e euc_kr -t template0 ---lc -collate = ko_kr.euckr ---lc-ctype = ko_kr.euckr korean

이것은 이름이 지정된 데이터베이스를 생성합니다한국어문자 토토 사이트 순위를 사용하는EUC_KR및 로케일KO_KR. 이것을 달성하는 또 다른 방법은이 SQL 명령을 사용하는 것입니다 :

'euc_kr'lc_collate = 'ko_kr.euckr'lc_ctype = 'ko_kr.euckr'template = template0;

위의 명령에를 지정합니다Template0데이터베이스. 다른 데이터베이스를 복사 할 때 인코딩 및 로케일 설정은 소스 데이터베이스의 설정에서 변경할 수 없습니다. 이로 인해 데이터가 손상 될 수 있습니다. 자세한 내용은 참조섹션 22.3.

데이터베이스 인코딩은 시스템 카탈로그에 저장됩니다PG_DATABASE. 를 사용하여 볼 수 있습니다.PSQL -l옵션 또는\ l명령.

$PSQL -L31061_31859

중요

대부분의 현대 운영 체제에서토토 사이트 순위LC_CTYPE설정, 일치하는 데이터베이스 인코딩 만 사용되도록 시행됩니다. 이전 시스템에서 선택한 로케일에서 예상되는 인코딩을 사용하는 것은 귀하의 책임입니다. 이 분야의 실수는 정렬과 같은 로케일 의존적 작업의 이상한 행동으로 이어질 수 있습니다.

토토 사이트 순위Superuser가로 데이터베이스를 만들 수 있습니다.SQL_ASCII언제도 인코딩LC_CTYPEC또는posix. 위에서 언급했듯이SQL_ASCII데이터베이스에 저장된 데이터에 특정 인코딩이 있음을 시행하지 않으므로이 선택은 로케일 의존적 오해의 위험을 초래합니다. 이 설정 조합을 사용하면 더 이상 사용되지 않으며 언젠가는 금지 될 수 있습니다.

23.3.3. 자동 문자 서버와 클라이언트 간의 변환

토토 사이트 순위자동 문자 토토 사이트 순위의 많은 조합에 대해 서버와 클라이언트 간의 자동 문자 토토 사이트 순위 지원 (섹션 23.3.4어떤 것들을 보여줍니다).

자동 문자 토토 사이트 순위 변환을 활성화하려면 말해야합니다토토 사이트 순위클라이언트에서 사용하려는 문자 토토 사이트 순위 (인코딩). 이것을 달성하는 몇 가지 방법이 있습니다 :

  • 사용\ encoding명령PSQL. \ encoding클라이언트 인코딩을 즉시 변경할 수 있습니다. 예를 들어 인코딩을로 변경하려면SJIS, 유형 :

    \ SJIS 인코딩
  • libpq(토토 사이트 : 문서 : 13 : 33.10. 토토 사이트 기능) 클라이언트 인코딩을 제어하는 ​​기능이 있습니다.

  • 사용set client_encoding to. 이 SQL 명령으로 클라이언트 인코딩 설정을 수행 할 수 있습니다.

    set client_encoding to 'value';

    또한 표준 SQL 구문을 사용할 수 있습니다이름 설정이 목적은 :

    이름 설정 'value';

    현재 클라이언트 인코딩 쿼리 :

    show client_encoding;

    기본 인코딩으로 돌아 가기 :

    Reset Client_Encoding;
  • 사용pgclientencoding. 환경 변수 인 경우pgclientencoding클라이언트의 환경에서 정의되어 있으며 서버에 대한 연결이 이루어질 때 클라이언트 인코딩이 자동으로 선택됩니다. (위에서 언급 한 다른 방법 중 하나를 사용하여 이후에 재정의 할 수 있습니다.)

  • 구성 변수 사용client_encoding. 인 경우client_encoding변수가 설정되어 있으며 서버에 대한 연결이 이루어질 때 클라이언트 인코딩이 자동으로 선택됩니다. (위에서 언급 한 다른 방법 중 하나를 사용하여 이후에 재정의 할 수 있습니다.)

특정 문자의 변환이 불가능한 경우 - 선택했다고 가정 해EUC_JP서버 및latin1클라이언트의 경우, 일부 일본 문자가 반환됩니다.latin1- 오류 가보고되었습니다.

클라이언트 문자 토토 사이트 순위가로 정의 된 경우SQL_ASCII, 서버의 문자 토토 사이트 순위에 관계없이 인코딩 변환이 비활성화됩니다. (그러나 서버의 문자 토토 사이트 순위가 아닌 경우SQL_ASCII, 서버는 들어오는 데이터가 해당 인코딩에 유효한지 확인합니다. 따라서 순 효과는 클라이언트 문자 토토 사이트 순위가 서버와 동일합니다.) 서버와 마찬가지로SQL_ASCIIAll-ASCII 데이터를 사용하지 않는 한 현명하지 않습니다.

23.3.4. 사용 가능한 문자 토토 사이트 순위 변환

토토 사이트 순위변환 함수가 나열된 두 문자 토토 사이트 순위간에 변환을 허용PG_CONVERSION시스템 카탈로그.토토 사이트 순위에 요약 된대로 사전 정의 된 변환이 제공됩니다.표 23.2표 23.3. SQL 명령을 사용하여 새 변환을 만들 수 있습니다변환 생성. (자동 클라이언트/서버 변환에 사용하려면 변환이로 표시되어야합니다.기본값캐릭터 토토 사이트 순위 쌍의 경우)

표 23.2. 내장 클라이언트/서버 문자 토토 사이트 순위 변환

서버 문자 토토 사이트 순위 사용 가능한 클라이언트 문자 토토 사이트 순위
big5 서버 인코딩으로 지원되지 않음
EUC_CN EUC_CN, mule_internal, UTF8
EUC_JP EUC_JP, mule_internal, SJIS, UTF8
EUC_JIS_2004 EUC_JIS_2004, Shift_jis_2004, UTF8
EUC_KR EUC_KR, mule_internal, UTF8
EUC_TW EUC_TW, big5, mule_internal, UTF8
GB18030 서버 인코딩으로 지원되지 않음
GBK 서버 인코딩으로 지원되지 않음
ISO_8859_5 ISO_8859_5, Koi8R, mule_internal, UTF8, Win866, Win1251
ISO_8859_6 ISO_8859_6, UTF8
ISO_8859_7 ISO_8859_7, UTF8
ISO_8859_8 ISO_8859_8, UTF8
Johab 서버 인코딩으로 지원되지 않음
KOI8R Koi8R, ISO_8859_5, mule_internal, UTF8, Win866, Win1251
Koi8U Koi8U, UTF8
latin1 latin1, mule_internal, UTF8
latin2 latin2, mule_internal, UTF8, Win1250
latin3 latin3, mule_internal, UTF8
latin4 latin4, mule_internal, UTF8
latin5 latin5, UTF8
latin6 latin6, UTF8
latin7 latin7, UTF8
latin8 latin8, UTF8
latin9 latin9, UTF8
latin10 latin10, UTF8
mule_internal mule_internal, big5, EUC_CN, euc_jp, EUC_KR, euc_tw, ISO_8859_5, Koi8R, latin1tolatin4, SJIS, Win866, Win1250, Win1251
SJIS 서버 인코딩으로 지원되지 않음
shift_jis_2004 서버 인코딩으로 지원되지 않음
SQL_ASCII 어떤 것 (전환이 수행되지 않음)
UHC 서버 인코딩으로 지원되지 않음
UTF8 모든 지원되는 인코딩
Win866 Win866, ISO_8859_5, Koi8R, mule_internal, UTF8, Win1251
Win874 Win874, UTF8
Win1250 Win1250, latin2, mule_internal, UTF8
Win1251 Win1251, ISO_8859_5, Koi8R, mule_internal, UTF8, Win866
Win1252 Win1252, UTF8
Win1253 Win1253, UTF8
Win1254 Win1254, UTF8
Win1255 Win1255, UTF8
Win1256 Win1256, UTF8
Win1257 Win1257, UTF8
Win1258 Win1258, UTF8

표 23.3. 모든 내장 문자 토토 사이트 순위 변환

변환 이름[A] 소스 인코딩 대상 인코딩
big5_to_euc_tw big5 EUC_TW
big5_to_mic big5 mule_internal
big5_to_utf8 big5 UTF8
euc_cn_to_mic EUC_CN mule_internal
euc_cn_to_utf8 EUC_CN UTF8
EUC_JP_TO_MIC euc_jp mule_internal
euc_jp_to_sjis EUC_JP SJIS
euc_jp_to_utf8 EUC_JP UTF8
EUC_KR_TO_MIC EUC_KR mule_internal
EUC_KR_TO_UTF8 EUC_KR UTF8
euc_tw_to_big5 EUC_TW big5
euc_tw_to_mic EUC_TW mule_internal
euc_tw_to_utf8 EUC_TW UTF8
GB18030_TO_UTF8 GB18030 UTF8
gbk_to_utf8 gbk UTF8
ISO_8859_10_TO_UTF8 latin6 UTF8
ISO_8859_13_TO_UTF8 latin7 UTF8
ISO_8859_14_TO_UTF8 latin8 UTF8
ISO_8859_15_TO_UTF8 latin9 UTF8
ISO_8859_16_TO_UTF8 latin10 UTF8
ISO_8859_1_TO_MIC latin1 mule_internal
ISO_8859_1_TO_UTF8 latin1 UTF8
ISO_8859_2_TO_MIC latin2 mule_internal
ISO_8859_2_TO_UTF8 latin2 UTF8
ISO_8859_2_TO_WINDOWS_1250 latin2 Win1250
ISO_8859_3_TO_MIC latin3 mule_internal
ISO_8859_3_TO_UTF8 latin3 UTF8
ISO_8859_4_TO_MIC latin4 mule_internal
ISO_8859_4_TO_UTF8 latin4 UTF8
ISO_8859_5_TO_KOI8_R ISO_8859_5 Koi8R
ISO_8859_5_TO_MIC ISO_8859_5 mule_internal
ISO_8859_5_TO_UTF8 ISO_8859_5 UTF8
iso_8859_5_to_windows_1251 ISO_8859_5 Win1251
iso_8859_5_to_windows_866 ISO_8859_5 Win866
ISO_8859_6_TO_UTF8 ISO_8859_6 UTF8
ISO_8859_7_TO_UTF8 ISO_8859_7 UTF8
ISO_8859_8_TO_UTF8 ISO_8859_8 UTF8
ISO_8859_9_TO_UTF8 latin5 UTF8
johab_to_utf8 Johab UTF8
KOI8_R_TO_SO_ISO_8859_5 KOI8R ISO_8859_5
KOI8_R_TO_MIC KOI8R mule_internal
KOI8_R_TO_UTF8 Koi8R UTF8
KOI8_R_TO_WINDOWS_1251 Koi8R Win1251
KOI8_R_TO_WINDOWS_866 Koi8R Win866
KOI8_U_TO_UTF8 Koi8U UTF8
MIC_TO_BIG5 mule_internal big5
MIC_TO_EUC_CN mule_internal EUC_CN
MIC_TO_EUC_JP mule_internal EUC_JP
MIC_TO_EUC_KR mule_internal EUC_KR
MIC_TO_EUC_TW mule_internal EUC_TW
MIC_TO_ISO_8859_1 mule_internal latin1
MIC_TO_ISO_8859_2 mule_internal latin2
MIC_TO_ISO_8859_3 mule_internal latin3
MIC_TO_ISO_8859_4 mule_internal latin4
MIC_TO_ISO_8859_5 mule_internal ISO_8859_5
MIC_TO_KOI8_R mule_internal Koi8R
MIC_TO_SJIS mule_internal SJIS
mic_to_windows_1250 mule_internal Win1250
mic_to_windows_1251 mule_internal Win1251
mic_to_windows_866 mule_internal Win866
sjis_to_euc_jp SJIS EUC_JP
sjis_to_mic SJIS mule_internal
sjis_to_utf8 SJIS UTF8
Windows_1258_TO_UTF8 Win1258 UTF8
UHC_TO_UTF8 UHC UTF8
UTF8_TO_BIG5 UTF8 big5
UTF8_TO_EUC_CN UTF8 EUC_CN
UTF8_TO_EUC_JP UTF8 EUC_JP
UTF8_TO_EUC_KR UTF8 EUC_KR
UTF8_TO_EUC_TW UTF8 EUC_TW
UTF8_TO_GB18030 UTF8 GB18030
UTF8_TO_GBK UTF8 GBK
UTF8_TO_ISO_8859_1 UTF8 latin1
UTF8_TO_ISO_8859_10 UTF8 latin6
UTF8_TO_ISO_8859_13 UTF8 latin7
UTF8_TO_ISO_8859_14 UTF8 latin8
UTF8_TO_ISO_8859_15 UTF8 latin9
UTF8_TO_ISO_8859_16 UTF8 latin10
UTF8_TO_ISO_8859_2 UTF8 latin2
UTF8_TO_ISO_8859_3 UTF8 latin3
UTF8_TO_ISO_8859_4 UTF8 latin4
UTF8_TO_ISO_8859_5 UTF8 ISO_8859_5
UTF8_TO_ISO_8859_6 UTF8 ISO_8859_6
UTF8_TO_ISO_8859_7 UTF8 ISO_8859_7
UTF8_TO_ISO_8859_8 UTF8 ISO_8859_8
UTF8_TO_ISO_8859_9 UTF8 latin5
UTF8_TO_JOHAB UTF8 Johab
UTF8_TO_KOI8_R UTF8 Koi8R
UTF8_TO_KOI8_U UTF8 Koi8U
UTF8_TO_SJIS UTF8 SJIS
UTF8_TO_WINDOWS_1258 UTF8 Win1258
UTF8_TO_UHC UTF8 UHC
UTF8_TO_WINDOWS_1250 UTF8 Win1250
UTF8_TO_WINDOWS_1251 UTF8 Win1251
UTF8_TO_WINDOWS_1252 UTF8 Win1252
UTF8_TO_WINDOWS_1253 UTF8 Win1253
UTF8_TO_WINDOWS_1254 UTF8 Win1254
UTF8_TO_WINDOWS_1255 UTF8 Win1255
UTF8_TO_WINDOWS_1256 UTF8 Win1256
UTF8_TO_WINDOWS_1257 UTF8 Win1257
UTF8_TO_WINDOWS_866 UTF8 Win866
UTF8_TO_WINDOWS_874 UTF8 Win874
Windows_1250_TO_SO_ISO_8859_2 Win1250 latin2
Windows_1250_TO_MIC Win1250 mule_internal
Windows_1250_TO_UTF8 Win1250 UTF8
Windows_1251_TO_SO_ISO_8859_5 Win1251 ISO_8859_5
Windows_1251_TO_KOI8_R Win1251 KOI8R
Windows_1251_TO_MIC Win1251 mule_internal
Windows_1251_TO_UTF8 Win1251 UTF8
Windows_1251_TO_WINDOWS_866 Win1251 Win866
Windows_1252_TO_UTF8 Win1252 UTF8
Windows_1256_TO_UTF8 Win1256 UTF8
Windows_866_TO_SO_ISO_8859_5 Win866 ISO_8859_5
Windows_866_TO_KOI8_R Win866 KOI8R
Windows_866_TO_MIC Win866 mule_internal
Windows_866_TO_UTF8 Win866 UTF8
Windows_866_TO_WINDOWS_1251 Win866 WIN
Windows_874_TO_UTF8 Win874 UTF8
EUC_JIS_2004_TO_UTF8 EUC_JIS_2004 UTF8
UTF8_TO_EUC_JIS_2004 UTF8 EUC_JIS_2004
shift_jis_2004_to_utf8 shift_jis_2004 UTF8
UTF8_TO_SHIFT_JIS_2004 UTF8 shift_jis_2004
EUC_JIS_2004_TO_SHIFT_JIS_2004 EUC_JIS_2004 shift_jis_2004
shift_jis_2004_to_euc_jis_2004 shift_jis_2004 euc_jis_2004

[A]변환 이름은 표준 이름 지정 체계를 따릅니다._to_, 유사하게 처리 된 대상 인코딩 이름이 뒤 따릅니다. 따라서이 이름은 때때로에 표시된 관례 인코딩 이름에서 벗어납니다.표 23.1.


23.3.5. 추가 읽기

이것은 다양한 종류의 인코딩 시스템에 대해 배우기 시작하기에 좋은 출처입니다.

CJKV 정보 처리 : 중국어, 일본어, 한국 및 베트남 컴퓨팅

에 대한 자세한 설명을 포함합니다EUC_JP, EUC_CN, EUC_KR, EUC_TW.

https : //www.unicode.org/

유니 코드 컨소시엄의 웹 사이트.

RFC 3629

UTF-8 (8 비트 UCS/유니 코드 변환 형식)은 여기에 정의되어 있습니다.

수정 제출

문서에 올바른 것이없는 것이 있으면 일치하지 않습니다. 특정 기능에 대한 귀하의 경험 또는 추가 설명이 필요합니다. 사용이 양식문서 문제를보고하려면