10.1.14.7 아시아 문자 세트
지원되는 아시아 문자 세트는 한국어, 중국어, 일본어, 태국어가 포함되어 있습니다. 이들은 복잡한 경우가 있습니다. 예를 들어, 중국어 문자 집합은 수천 종류의 문자에 대응하고있을 필요가 있습니다. cp932
및 sjis
문자 집합에 대한 자세한 내용은 섹션 10.1.14.7.1 "cp932 문자 집합" 을 참조하십시오.
MySQL에서 아시아 문자 세트 지원 관련 자주 묻는 질문과 문제에 대한 답변 내용은 섹션 A.11 "MySQL 5.6 FAQ : MySQL의 한국어, 중국어 및 일본어 문자 세트" 를 참조 바랍니다.
big5
(Big5 번체) 데이터 정렬 :big5_bin
big5_chinese_ci
(기본)
cp932
(SJIS for Windows 일본어) 데이터 정렬 :cp932_bin
cp932_japanese_ci
(기본)
eucjpms
(UJIS for Windows 일본어) 데이터 정렬 :eucjpms_bin
eucjpms_japanese_ci
(기본)
euckr
(EUC-KR 한국어) 데이터 정렬 :euckr_bin
euckr_korean_ci
(기본)
gb2312
(GB2312 중국어 간체) 데이터 정렬 :gb2312_bin
gb2312_chinese_ci
(기본)
gbk
(GBK 간체) 데이터 정렬 :gbk_bin
gbk_chinese_ci
(기본)
sjis
(Shift-JIS 일본어) 데이터 정렬 :sjis_bin
sjis_japanese_ci
(기본)
tis620
(TIS620 타이어) 데이터 정렬 :tis620_bin
tis620_thai_ci
(기본)
ujis
(EUC-JP 일본어) 데이터 정렬 :ujis_bin
ujis_japanese_ci
(기본)
big5_chinese_ci
데이터 정렬은 획수로 정렬합니다.
MySQL에서 아시아 언어 데이터 정렬에 대한 자세한 내용은 Collation-Charts.Org ( big5 , cp932 , eucjpms , euckr , gb2312 , gbk , sjis , tis620 , ujis )를 참조하십시오.
10.1.14.7.1 cp932 문자 집합
cp932
가 필요한 이유
MySQL에서 sjis
문자 집합은 IANA에서 정의되는 Shift_JIS
문자 집합에 대응하고 있으며, 이들은 JIS X0201 및 JIS X0208 문자 집합을 지원합니다. ( http://www.iana.org/assignments/character-sets 를 참조하십시오.)
그러나 기술 용어로서의 'SHIFT JIS "의 의미는 매우 애매 모호하게되어있어, 다양한 벤더가 정의한 Shift_JIS
의 확장도 포함 할 수 있습니다.
예를 들어, 일본어 Windows 환경에서 사용되는 "SHIFT JIS」는 Microsoft에 의한 Shift_JIS
의 확장이며, 정식 명칭은 Microsoft Windows Codepage : 932
또는 cp932
입니다. Shift_JIS
에서 지원되는 문자 외에도 cp932
에서는 NEC 특수 문자, NEC 선정 IBM 확장 문자, IBM 선정 문자 등의 확장 문자를 지원합니다.
많은 일본어 사용자는 이러한 확장 문자를 사용할 때 문제에 직면 해 왔습니다. 이러한 문제는 다음과 같은 요인에 의해 발생했습니다.
MySQL이 자동으로 문자 세트 변환을 행하고있는 것.
문자 세트가 Unicode (
ucs2
)을 사용하여 변환되는 것.sjis
캐릭터 세트가 이러한 확장 문자의 변환을 지원하지 않습니다.이른바 'SHIFT JIS」에서 Unicode로 변환에는 복수의 변환 룰이 존재하고 문자로 변환 규칙에 따라 개별적으로 Unicode로 변환 될 수있다. MySQL에서는 이러한 변환 규칙 중 하나만 지원하지 않습니다 (자세한 것은 후술합니다).
MySQL의 cp932
캐릭터 세트는 이러한 문제를 해결하도록 설계되어 있습니다.
MySQL이 문자 세트 변환을 지원하므로 다른 변환 규칙을 가지는 IANA의 Shift_JIS
과 cp932
를 2 개의 다른 문자 집합으로 구분하는 것이 중요합니다.
cp932
와 sjis
과의 차이점
cp932
문자 집합은 다음의 점에서 sjis
와 다릅니다.
cp932
는 NEC 특수 문자, NEC 선정 IBM 확장 문자, IBM 선정 문자를 지원합니다.일부
cp932
문자는 두 개의 다른 코드 포인트가 모두 동일한 Unicode 코드 포인트로 변환됩니다. Unicode에서cp932
로 되돌릴 때 두 가지 코드 포인트를 선택해야합니다. 이 「왕복 여행 변환」에 대해서는, Microsoft가 권장하는 규칙이 사용됩니다. ( http://support.microsoft.com/kb/170559/EN-US/ 를 참조하십시오.)이 변환 규칙은 다음과 같이 작동합니다.
문자가 JIS X 0208 문자와 NEC 특수 문자의 양쪽 모두에 존재하는 경우에는 JIS X 0208의 코드 포인트를 사용합니다.
문자가 NEC 특수 문자와 IBM 선정 문자에 모두 존재하는 경우에는, NEC 특수 문자의 코드 포인트를 사용합니다.
문자가 IBM 선정 문자와 NEC 선정 IBM 확장 문자가 모두 존재하는 경우, IBM 확장 문자의 코드 포인트를 사용합니다.
http://www.microsoft.com/globaldev/reference/dbcs/932.htm 의 표는
cp932
문자의 Unicode 값에 대한 정보가 포함되어 있습니다.cp932
표 아래에 4 자리 숫자가 표시되어있는 항목에 대해서는 그 숫자는 대응하는 Unicode (ucs2
) 인코딩을 나타냅니다. 밑줄이있는 두 자리의 값이있는 테이블 항목에서는이 두 자리 값으로 시작 일정 범위의cp932
문자가 있습니다. 이러한 표 항목을 클릭하면이 자릿수로 시작cp932
문자 대한 각 Unicode 값을 보였다 페이지가 표시됩니다.자세한 내용은 다음 링크를 참조하십시오. 각각 다음 문자 세트 인코딩을 지원합니다.
NEC 특수 문자 :
http://www.microsoft.com/globaldev/reference/dbcs/932/932_87.htm
NEC 선정 IBM 확장 문자 :
http://www.microsoft.com/globaldev/reference/dbcs/932/932_ED.htm http://www.microsoft.com/globaldev/reference/dbcs/932/932_EE.htm
IBM 선정 문자 :
http://www.microsoft.com/globaldev/reference/dbcs/932/932_FA.htm http://www.microsoft.com/globaldev/reference/dbcs/932/932_FB.htm http://www.microsoft.com/globaldev/reference/dbcs/932/932_FC.htm
cp932
는eucjpms
와 함께 사용하여 사용자 정의 문자의 변환을 지원하고sjis
/ujis
의 변환 문제를 해결합니다. 자세한 내용은 http://www.sljfaq.org/afaq/encodings.html 를 참조하십시오.
일부 문자 내용은 ucs2
사이의 변환은 sjis
과 cp932
과의 경우와 다릅니다. 다음 표는 이러한 차이점을 보여줍니다.
ucs2
로의 변환 :
sjis / cp932 값 | sjis -> ucs2 변환 | cp932 -> ucs2 변환 |
---|---|---|
5C | 005C | 005C |
7E | 007E | 007E |
815C | 2015 | 2015 |
815F | 005C | FF3C |
8160 | 301C | FF5E |
8161 | 2016 | 2225 |
817C | 2212 | FF0D |
8191 | 00A2 | FFE0 |
8192 | 00A3 | FFE1 |
81CA | 00AC | FFE2 |
ucs2
으로부터의 변환 :
ucs2 값 | ucs2 -> sjis 변환 | ucs2 -> cp932 변환 |
---|---|---|
005C | 815F | 5C |
007E | 7E | 7E |
00A2 | 8191 | 3F |
00A3 | 8192 | 3F |
00AC | 81CA | 3F |
2015 | 815C | 815C |
2016 | 8161 | 3F |
2212 | 817C | 3F |
2225 | 3F | 8161 |
301C | 8160 | 3F |
FF0D | 3F | 817C |
FF3C | 3F | 815F |
FF5E | 3F | 8160 |
FFE0 | 3F | 8191 |
FFE1 | 3F | 8192 |
FFE2 | 3F | 81CA |
일본어 문자 세트의 사용자는 --character-set-client-handshake
(또는 --skip-character-set-client-handshake
)를 사용하면 큰 효과를 얻을 수 유의하십시오. 섹션 5.1.3 "서버 명령어 옵션" 을 참조하십시오.