Если вы хотите использовать Unicode для связи с сервером MySQL, ваш единственный вариант - использовать UTF-8.
Если вы сейчас работаете со строками UCS-2 или UTF-16 в PHP,вам придется конвертировать их в UTF-8, прежде чем пытаться сохранить их.Также обратите внимание, что MySQL вернет вам UTF-8, если это то, что вы установили в свой клиентский набор символов, поэтому вам нужно будет также конвертировать результаты запроса, если вы привержены работе с UCS-2 на стороне PHP.(Если у вас есть возможность вносить большие изменения, вам, вероятно, было бы лучше просто везде использовать UTF-8, чем выполнять все эти дополнительные преобразования.)
Что касается хранения кодовой точки U + 2193, то нетБеспокойство: UTF-8 может представлять каждую кодовую точку Unicode (в данном конкретном случае это будет 0xE2 0x86 0x93
).
Технически, это немного обманывает, так как MySQL utf8
и ucs2
наборы символовохватывает только поднабор Unicode, называемый базовой многоязычной плоскостью (BMP).Мир кодировок Unicode расширен в MySQL 5.5 , чтобы выйти за пределы BMP, но вы все еще не можете использовать ucs2
, новые utf16
или utf32
кодировки в качестве клиентских наборов, оставляя вас по-прежнемузастрял с UTF-8.