Прочитал тут рядом:
http://permalink.gmane.org/gmane.comp.db.firebird.dotnetprovider/3883
что сервер хранит каждый символ UTF-8 как 4 байта, независимо от того
какой именно это символ. Это правда? И если это так - то wire protocol
тоже передает 4 байта на каждый символ в UTF-8 ???
Я сегодня пробовал понять этот пост Хэлен, но не получилось. Что-то мне
подсказывает, что она либо не выспалась, либо чего-то сильного накурилась.
Если я не ошибаюсь, то проблема там только в том, что он подключается с
lc_ctype=NONE к базе созданой с default charset UTF-8. Сервер с диска
читает символ, потом читает, что послать по сети надо 4 байта и
добавляет эти лишние пробелы. И, если я не ошибаюсь, я с Адриано это
где-то год назад обсуждал и мы пришли к выводу, что это уже не баг, а
фича - лучшего алгоритма который бы также удовлетворял остальным
запросам не придумать. Для проверки пусть возмет вместо NONE какой-то
однобайтовый чарсет, например WIN1251, там должно все работать корректно.
Роман
- Re: UTF-8 Roman Rokytskyy
-