Unicode в MySQL

Роберт

Аналитик
Unicode в MySQL

Народ , может кто-нибудь подсказать - есть ли какая-нибудь возможность изпользования Unicode в MySQL? Ни в версии 4.1.10 , ни в 5.0.2 нету поддержки Unicode (только UTF-8). Я конечно могу получая иноформацию из базы данных выводить её в любой кодировке самостоятельно (всего одну функцию написать) , но если ввод в базу данных осуществляется через сторонню программу скажем разработанную на Delphi?
Или может кто поделится опытом создания собственных кодировок для хранения некольких языков в одном поле таблицы?
 

alexhemp

Новичок
Зачем какие-то собственные кодировки, если есть UTF-8?

Он собственно для этого и предназначен.
 

Роберт

Аналитик
Я не говорю о собственных кодировках! И UTF-8 я отлично знаю (и формат , и маски , и конвертации для него из других кодировок сам писал ещё 5 лет назад). Но тут я говорю об обычном виндоуском уникоде (когда любой символ кодируется двумя байтами).
Можно ли как-то сделать чтобы MySQL работать с ним? (только не в бинарных Blob'ax)
В MySQL есть конфигурационные файлы в share\charsets\ для управления кодировками. Я думал - а можно ли создать собственную для Unicode (используя 2 байта)? Может кто-то пробывал уже?

P.S. Я не знаю кто первый ввёл понятие термина Unicode , но думаю Тони согласится что по умолчанию под словом Unicode любой человек когда-либо работавший в виндоусе подразумевает именно виндоускую двухбайтную кодировку , а UTF-8 - это прямая ассоциация с интернетом (хоть и тоже является уникодом). По крайней мере в Десятках редакторов и вьюверах есть опции 'Save as Unicode' и 'Save as UTF-8' (соответсвенно в виндовском и интернетовском формате).
 

fixxxer

К.О.
Партнер клуба
мало ли что там где написано на заборе.
называется это UCS-2.
 

tony2001

TeaM PHPClub
>по умолчанию под словом Unicode любой человек когда-либо работавший в
>виндоусе подразумевает именно виндоускую двухбайтную кодировку.

к сожалению, понятие "виндоуская двухбайтная кодировка" для меня является набором слов.

>"Save as Unicode..." и "Save as UTF-8..." (соответсвенно в виндовском и
>интернетовском формате).

ты выясни сначала как по-человечески называется "виндоуская двухбайтная кодировка" (у винды есть документация? без понятия..), а потом спрашивай.
 

Роберт

Аналитик
tony2001
Ну открой просто Notepad или Internet Explorer , зайди в Fail - > Save as... и увидишь два чётких понятия Unicode и UTF-8.
Можно конечно людям доказывать что Nissan Patrol или BMW-X5 это не Джипы... И хотя это будет истиной , но 99.99% скажут что Х5 - это джип!

fixxxer
UCS-2 вроде как вхожит в поддерживаемые MySQL'ом кодировки. Но в Виндовских инстоляциях версий 4.1.10 и 5.0.2 эта кодировка отсутствует в Config Wizard'e. А прописав её в default-character-set и перегрузив сервис я не смог даже соединиться с базой данных ни через ODBC , ни через MySQL API , ни через MySQL-Front и MySQL-ControlCenter :(
 

Demiurg

Guest
>и увидишь два чётких понятия Unicode и UTF-8.
я вижу unicode и unicode(utf-8), если ты думаешь, что ucs-2 - это полноправный unicode, то ошибаешься.

А почему не использовать utf-8 ? очень удобная штука
 

fixxxer

К.О.
Партнер клуба
UCS-2 вроде как вхожит в поддерживаемые MySQL'ом кодировки. Но в Виндовских инстоляциях версий 4.1.10 и 5.0.2 эта кодировка отсутствует в Config Wizard'e. А прописав её в default-character-set и перегрузив сервис я не смог даже соединиться с базой данных ни через ODBC , ни через MySQL API , ни через MySQL-Front и MySQL-ControlCenter
А не пробовал сначала мануал почитать?
 

Роберт

Аналитик
Demiurg
Так я об этом и говорю - есть чистый Unicode , и есть Unicode(UTF-8). Хотя это только в последнем IE так написано , а в notepad'e , Total Commander'e , UltraEdit и многом другом написано просто Unicode...
Ничего не поделаешь - Прижившиеся в народе названия - это уже терменология! :) Так что о слове UCS-2 можно забыть.

Хотя на его счёт в описании MySQL действительно сказано:
A temporary restriction is that UCS-2 cannot yet be used as a client character set. That means that `SET NAMES 'ucs2'' will not work.

Так что ещё раз подниму вопрос - Может кто знает - можно ли на базе файлов в share\charsets\ создать собственную двухбайтную кодировку которая будет корректно обрабатывать стандартный виндоуский Unicode?
 

Demiurg

Guest
>есть чистый Unicode , и есть Unicode(UTF-8)
тебе уже дали ссылку, разберись, потом приходи. ты путаешься в понятиях.

-~{}~ 26.03.05 01:55:

что бы тебе было проще:
unicode - стандарт
utf-8,ucs-2,... - кодировки
 

Роберт

Аналитик
Demiurg
>unicode - стандарт
>utf-8,ucs-2,... - кодировки
А почему тебе не сказать об этом майкрософту и сотням разработчиков солидных программ? Они ведь глупенькие наверно не знают и по ошибке пишут пункты "Unicode" и "UTF-8" :) Ну ладно ещё могли бы ошибиться те кто работают на простых смертных юзеров , но UltraEdit - программа для специалистов и веб-дизайнеров!
Конечно я смеюсь , но ещё раз повторю - С годами прижившиеся в народе названия - это уже терменология! О слове UCS-2 можно забыть...
 

fixxxer

К.О.
Партнер клуба
Прижившиеся в народе названия
В народе еще есть прижившиеся названия для тех, кто занимается подобной демагогией, но, к сожалению, правила данного форума не позволяют мне оные названия здесь упомянуть.
 
Сверху