10.1.14.7 아시아 문자 세트
지원되는 아시아 문자 세트는 한국어, 중국어, 일본어, 태국어가 포함되어 있습니다. 이들은 복잡한 경우가 있습니다. 예를 들어, 중국어 문자 집합은 수천 종류의 문자에 대응하고있을 필요가 있습니다. cp932 및 sjis 문자 집합에 대한 자세한 내용은 섹션 10.1.14.7.1 "cp932 문자 집합" 을 참조하십시오.
MySQL에서 아시아 문자 세트 지원 관련 자주 묻는 질문과 문제에 대한 답변 내용은 섹션 A.11 "MySQL 5.6 FAQ : MySQL의 한국어, 중국어 및 일본어 문자 세트" 를 참조 바랍니다.
big5(Big5 번체) 데이터 정렬 :big5_binbig5_chinese_ci(기본)
cp932(SJIS for Windows 일본어) 데이터 정렬 :cp932_bincp932_japanese_ci(기본)
eucjpms(UJIS for Windows 일본어) 데이터 정렬 :eucjpms_bineucjpms_japanese_ci(기본)
euckr(EUC-KR 한국어) 데이터 정렬 :euckr_bineuckr_korean_ci(기본)
gb2312(GB2312 중국어 간체) 데이터 정렬 :gb2312_bingb2312_chinese_ci(기본)
gbk(GBK 간체) 데이터 정렬 :gbk_bingbk_chinese_ci(기본)
sjis(Shift-JIS 일본어) 데이터 정렬 :sjis_binsjis_japanese_ci(기본)
tis620(TIS620 타이어) 데이터 정렬 :tis620_bintis620_thai_ci(기본)
ujis(EUC-JP 일본어) 데이터 정렬 :ujis_binujis_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.htmNEC 선정 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 "서버 명령어 옵션" 을 참조하십시오.