Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«MySQL: руководство профСссионала». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 55

Автор АлСксСй ΠŸΠ°ΡƒΡ‚ΠΎΠ²

ОбъСдинСния koi8u (KOI8-U Ukrainian):


koi8u_bin

koi8u_general_ci (Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ)

10.10.7. АзиатскиС Π½Π°Π±ΠΎΡ€Ρ‹ символов

АзиатскиС Π½Π°Π±ΠΎΡ€Ρ‹ символов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΏΠ°ΠΊΠ΅Ρ‚, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Chinese, Japanese, Korean ΠΈ Thai. Они ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ услоТнСны. НапримСр, китайскиС Π½Π°Π±ΠΎΡ€Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΡ‡Π΅ΡΡ‚ΡŒ тысячи Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… символов.


ОбъСдинСния big5 (Big5 Traditional Chinese):


big5_bin

big5_chinese_ci (Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ)


ОбъСдинСния cp932 (SJIS for Windows Japanese):


cp932_bin

cp932_japanese_ci (Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ)


ОбъСдинСния eucjpms (UJIS for Windows Japanese):


eucjpms_bin

eucjpms_japanese_ci (Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ)


ОбъСдинСния euckr (EUC-KR Korean):


euckr_bin

euckr_korean_ci (Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ)


ОбъСдинСния gb2312 (GB2312 Simplified Chinese):


gb2312_bin

gb2312_chinese_ci (Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ)


ОбъСдинСния gbk (GBK Simplified Chinese):


gbk_bin

gbk_chinese_ci (Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ)


ОбъСдинСния sjis (Shift-JIS Japanese):


sjis_bin

sjis_japanese_ci (Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ)


ОбъСдинСния tis620 (TIS620 Thai):


tis620_bin

tis620_thai_ci (Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ)


ОбъСдинСния ujis (EUC-JP Japanese):


ujis_bin

ujis_japanese_ci (Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ)

10.10.7.1. Набор символов cp932

А Π½Π° ΠΊΠΎΠΉ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½ΡƒΠΆΠ΅Π½ cp932?


Π’ MySQL Π½Π°Π±ΠΎΡ€ символов sjis соотвСтствуСт Shift_JIS ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ IANA, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ символы JIS X0201 ΠΈ JIS X0208 (см. http://www.iana.org/assignments/character-sets).


Однако, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ SHIFT JIS ΠΊΠ°ΠΊ ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ стало ΠΎΡ‡Π΅Π½ΡŒ Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ, ΠΈ это часто Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Shift_JIS, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ поставщиками. ΠšΠΎΡ€ΠΎΡ‡Π΅, большС стандартов, Ρ…ΠΎΡ€ΠΎΡˆΠΈΡ… ΠΈ Ρ€Π°Π·Π½Ρ‹Ρ…!


НапримСр, SHIFT JIS, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π² Japanese Windows, прСдставляСт Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Shift_JIS ΠΎΡ‚ Microsoft, ΠΈ Π΅Π³ΠΎ Ρ‚ΠΎΡ‡Π½ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Microsoft Windows Codepage: 932 ΠΈΠ»ΠΈ cp932. Π’ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ символам, обСспСчиваСмым Shift_JIS, cp932 ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ символы Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Ρ‚ΠΈΠΏΠ° ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΈ ΠΈΠ·ΡŽΡ€Π°Π½Π½Ρ‹Ρ… символов NEC ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Ρ… символов IBM.


Много японских ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ испытали ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΏΡ€ΠΈ использовании этих символов Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ. Π­Ρ‚Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° складываСтся ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ²:


MySQL автоматичСски ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ Π½Π°Π±ΠΎΡ€Ρ‹ символов.


Наборы символов ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Ρ‹ Ρ‡Π΅Ρ€Π΅Π· Unicode (ucs2).


Набор символов sjis Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ этих символов Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ.


Π˜ΠΌΠ΅ΡŽΡ‚ΡΡ нСсколько ΠΏΡ€Π°Π²ΠΈΠ» прСобразования ΠΈΠ· Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ SHIFT JIS Π² Unicode, ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ символы ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Ρ‹ Π² Unicode ΠΏΠΎ-Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ, Π² зависимости ΠΎΡ‚ ΠΏΡ€Π°Π²ΠΈΠ»Π° прСобразования. MySQL ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎ ΠΈΠ· этих ΠΏΡ€Π°Π²ΠΈΠ».


Набор символов MySQL cp932 Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ эти ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹.


ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ MySQL ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π°Π±ΠΎΡ€Π° символов, Π²Π°ΠΆΠ½ΠΎ ΠΎΡ‚Π΄Π΅Π»ΠΈΡ‚ΡŒ IANA Shift_JIS ΠΎΡ‚ cp932: это Π΄Π²Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π½Π°Π±ΠΎΡ€Π° символов, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° прСобразования.


А Π² Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ cp932 ΠΈ sjis?


Набор символов cp932 отличаСтся ΠΎΡ‚ sjis ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ:


cp932 ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΈ ΠΈΠ·Π±Ρ€Π°Π½Π½Ρ‹Π΅ символы NEC, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Π΅ символы ΠΎΡ‚ 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 ΠΈ Π² Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Ρ… символах IBM, примСняСтся ΠΊΠΎΠ΄ ΠΈΠ· Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Ρ… символов IBM.


Π’Π°Π±Π»ΠΈΡ†Π°, показанная Π½Π° http://www.microsoft.com/globaldev/reference/dbcs/932.htm обСспСчиваСт ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Unicode символов cp932. Для Π²Ρ…ΠΎΠ΄ΠΎΠ² Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ с символами cp932, ΠΏΠΎΠ΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ появляСтся чСтырСхразрядный ΠΊΠΎΠ΄, ΠΎΠ½ прСдставляСт ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ ΠΈΠ· Unicode (ucs2). Для Π²Ρ…ΠΎΠ΄ΠΎΠ² Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ с ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠ½ΡƒΡ‚Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ с двумя Ρ†ΠΈΡ„Ρ€Π°ΠΌΠΈ имССтся Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ cp932, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с Ρ‚Π΅Ρ… Π΄Π²ΡƒΡ… Ρ†ΠΈΡ„Ρ€. Π©Π΅Π»Ρ‡ΠΎΠΊ Π½Π° Ρ‚Π°ΠΊΠΎΠΌ Π²Ρ…ΠΎΠ΄Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ Вас ΠΊ страницС, которая ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Unicode для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· символов 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) ΠΈΠΌΠ΅Π΅Ρ‚ Π²Π°ΠΆΠ½Ρ‹ΠΉ эффСкт.

10.11. MySQL 5 FAQ: ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π½Π°Π±ΠΎΡ€ΠΎΠ² символов CJK

Π­Ρ‚ΠΎΡ‚ Π½Π°Π±ΠΎΡ€ вопросов происходит ΠΈΠ· ΠΎΠΏΡ‹Ρ‚Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ MySQL Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ запросов ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΊΠΈΡ€ΠΈΠ»Π»ΠΈΡ†Ρ‹ ΠΈ CJK (Chinese-Japanese-Korean).


10.11.1: Π― вставил символы CJK Π² мою Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ. ΠŸΠΎΡ‡Π΅ΠΌΡƒ SELECT ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΈΡ… ΠΊΠ°ΠΊ символы ??


Π­Ρ‚Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΠ·-Π·Π° установки Π² MySQL, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ соотвСтствуСт ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌ настройки для ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΠ»ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы. Π˜ΠΌΠ΅ΡŽΡ‚ΡΡ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Ρ‰ΠΈΠ΅ шаги для исправлСния этих Ρ‚ΠΈΠΏΠΎΠ² ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ:


ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ Π²Π΅Ρ€ΡΠΈΡŽ MySQL . Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ SELECT VERSION(); для этого.


ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… фактичСски ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ символов..


Π›ΡŽΠ΄ΠΈ часто Π΄ΡƒΠΌΠ°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ Π½Π°Π±ΠΎΡ€ символов ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ всСгда Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅, ΠΊΠ°ΠΊ Π½Π°Π±ΠΎΡ€ символов сСрвСра ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ для Ρ†Π΅Π»Π΅ΠΉ отобраТСния. Однако, ΠΎΠ±Π° эти прСдполоТСния Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ΄ΠΎΡΡ‚ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒΡΡ Π² этом, провСряя Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ SHOW CREATE TABLE tablename, Π° Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ эту ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ:


SELECT character_set_name, collation_name FROM information_schema.columns

WHERE table_schema = your_database_name AND

table_name = your_table_name AND column_name = your_column_name;


ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ символа ΠΈΠ»ΠΈ символов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ..


Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ эту ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ для столбца column_name Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ table_name, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ запрос:


SELECT HEX(column_name)

FROM table_name;


3F ΠΊΠΎΠ΄ΠΈΡ€ΡƒΠ΅Ρ‚ символ ?. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ? являСтся символом, фактичСски сохранСнным Π² столбцС. Π­Ρ‚ΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто случаСтся ΠΈΠ·-Π·Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΏΡ€ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΈ спСцифичСского символа ΠΎΡ‚ Π’Π°ΡˆΠ΅Π³ΠΎ Π½Π°Π±ΠΎΡ€Π° символов ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π΄ΠΎ Ρ†Π΅Π»Π΅Π²ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡ€Π° символов.


Π£Π΄ΠΎΡΡ‚ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ΅ ΠΏΡƒΡ‚Π΅ΡˆΠ΅ΡΡ‚Π²ΠΈΠ΅ Ρ‚ΡƒΠ΄Π° ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΊΠΎΠ³Π΄Π° Π’Ρ‹ Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚Π΅ literal (ΠΈΠ»ΠΈ _introducer hexadecimal-value), Π’Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΈΠΌΠ΅Π½Π½ΠΎ literal.


НапримСр, японский символ Katakana Pe (ΡƒΠ“Πͺ') сущСствуСт Π²ΠΎ всСх CJK Π½Π°Π±ΠΎΡ€Π°Ρ… символов, ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 0x30da. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡƒΡ‚Π΅ΡˆΠ΅ΡΡ‚Π²ΠΈΠ΅ Ρ‚ΡƒΠ΄Π° ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ для этого символа, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ этот запрос:


SELECT 'ΡƒΠ“Πͺ' AS `ΡƒΠ“Πͺ`; /* or SELECT _ucs2 0x30da; */


Если Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π½Π΅ Ρ‚Π°ΠΊΠΎΠΉ, ΠΏΡƒΡ‚Π΅ΡˆΠ΅ΡΡ‚Π²ΠΈΠ΅ Ρ‚ΡƒΠ΄Π° ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ ΠΏΠΎΡ‚Π΅Ρ€ΠΏΠ΅Π»ΠΎ Π½Π΅ΡƒΠ΄Π°Ρ‡Ρƒ.


Π£Π΄ΠΎΡΡ‚ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π½Π΅ с ΠΎΠΊΠ½ΠΎΠΌ просмотра ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ с MySQL.


Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ mysql (Π² Windows: mysql.exe), Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ эту Π·Π°Π΄Π°Ρ‡Ρƒ. Если mysql ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ всС ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, Π½ΠΎ Π’Π°ΡˆΠ° прикладная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° этого Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ‚, Ρ‚ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, вСроятно, ΠΈΠ·-Π·Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² настройки систСмы.


Π§Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΡΡΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠ²Ρ‹ Π’Π°ΡˆΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ настройки, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ SHOW VARIABLES Π²Ρ‹Π²ΠΎΠ΄ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ показываСтся здСсь: