Василий
Гость
|
|
« : 26-08-2005 09:43 » |
|
Кто-нибудь хронил в базе Mysql ver 4.1 Unicode или SJIS(Japanese words). И для работы использовал MyODBC какой-нибудь версии. Если у кого-то это получилось, то подскажите как это сделать. Что я делал: Устанваливал SET NAMES 'sjis' и SET CHARACTER SET sjis после соединения, база данных default_character_set sjis все это ни к чему не привело вместо японских слов одни " ". Может есть какие, то другие ODBC. Мне требуется из ASP получить доступ к MySql.
|
|
« Последнее редактирование: 19-12-2007 19:29 от Алексей1153++ »
|
Записан
|
|
|
|
RXL
Технический
Администратор
Offline
Пол:
|
|
« Ответ #1 : 26-08-2005 12:01 » |
|
А файл sjis.conf в поставке есть?
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Василий
Гость
|
|
« Ответ #2 : 26-08-2005 12:09 » |
|
В поставке чего?
|
|
|
Записан
|
|
|
|
RXL
Технический
Администратор
Offline
Пол:
|
|
« Ответ #3 : 26-08-2005 12:11 » |
|
Дистрибутива mysql конечно.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Василий
Гость
|
|
« Ответ #4 : 26-08-2005 12:55 » |
|
не было такого файла. Сам Mysql хранит иероглифы я понски нормально , но из него их не как не полусить приходят одни
|
|
|
Записан
|
|
|
|
RXL
Технический
Администратор
Offline
Пол:
|
|
« Ответ #5 : 27-08-2005 18:35 » |
|
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
RXL
Технический
Администратор
Offline
Пол:
|
|
« Ответ #6 : 27-08-2005 18:52 » |
|
Как я понял многобайтные кодировки должны быть включены во время компиляции. Кстати, там и UTF-8 есть - может подойдет?
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Василий
Гость
|
|
« Ответ #7 : 28-08-2005 05:52 » |
|
Это все под Windows, да и кажется проблемы с MyODBC, которая не поддерживает японские кадировки..
|
|
|
Записан
|
|
|
|
RXL
Технический
Администратор
Offline
Пол:
|
|
« Ответ #8 : 29-08-2005 08:27 » |
|
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Василий
Гость
|
|
« Ответ #9 : 29-08-2005 13:02 » |
|
Я нашел способ это сделать теперь мне нужно получит оттуда этот unicode на web page.
|
|
|
Записан
|
|
|
|
RXL
Технический
Администратор
Offline
Пол:
|
|
« Ответ #10 : 29-08-2005 13:56 » |
|
Vasiliy, поясни сперва, где и в какой кодировке ты получаешь результат? На чем пишешь?
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Василий
Гость
|
|
« Ответ #11 : 29-08-2005 19:23 » |
|
Все это нужно сделать под IIS 5.1 или 6.0. Я использую asp, доступ к Mysql получаю через MyODBC 3.51.11 и ADO. Мне нужно получит результаты в sjis кодировки. но вместо иероглифов я получаю " ?". Яаписал небольшой COM объект, процедура которого дергается на asp странице, я в дебаге посмотрел туда попадает нормальная страка, но на странице " ??".
|
|
|
Записан
|
|
|
|
RXL
Технический
Администратор
Offline
Пол:
|
|
« Ответ #12 : 29-08-2005 19:30 » |
|
Может у тебя просто иная кодировка в странице, или IIS перекодировал?
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Василий
Гость
|
|
« Ответ #13 : 30-08-2005 14:07 » |
|
Да у IIS неправильная кодировка стояла.
|
|
|
Записан
|
|
|
|
Axe Ilshat
Гость
|
|
« Ответ #14 : 28-11-2005 11:40 » |
|
У меня похожая проблема. При вставке, если есть русский символ, - ошибка - слишком много данных для этой колонки. База на mysql 5.0: > Create database sample default character set utf8; > use sample; > create table data (id int auto_increment, name text character set utf8);
подключаюсь из С++ через myodbc 3.51 (самый свежий) Параметры SQLBindParameter: SQL_C_TCHAR (программирую в UNICODE), SQL_C_LONGVARCHAR > SET NAMES utf8; > Set characteter set utf8;
если нет русских букв, запрос проходит (строка с ид=5 там есть) Update table set name="abcdef" where id=5;
если же там есть русские буквы, Update table set name="abcФdef" where id=5; ошибка "слишком много данных для столбца name"
В чем моя ошибка, подскажите плз.
|
|
|
Записан
|
|
|
|
RXL
Технический
Администратор
Offline
Пол:
|
|
« Ответ #15 : 28-11-2005 14:50 » |
|
Axe Ilshat, серьезная ошибка: винда использует utf-16, а не utf-8 - тебе надо самому перекодировать. Кроме того, может еще тебе размер поля мал? - text = до 65535 _байт_. MySQL-сервер можно настроить на ведение логов запросов - это может помочь в поиске проблемы.
|
|
« Последнее редактирование: 28-11-2005 14:53 от RXL »
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Axe Ilshat
Гость
|
|
« Ответ #16 : 30-11-2005 09:26 » |
|
Спасибо! До этого не встречался, но чтобы у юникода еще и разные кодировки были... %)
|
|
|
Записан
|
|
|
|
RXL
Технический
Администратор
Offline
Пол:
|
|
« Ответ #17 : 30-11-2005 18:07 » |
|
Еще, 16-тибитный unicode может быть big endian и little endian. Т.е. unicode на Mac-е и PC могут быть несовместимы. С utf-8 такого не произойдет - тут последовательности байт. И полезно для программ, html, xml и т.п.: набор latin1 кодируется одним байтом - файл меньше получается.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Chuda
Гость
|
|
« Ответ #18 : 12-08-2006 00:18 » |
|
это всё здорово, а вот на эту же тему проблема: текст в mysql живёт в кодировке utf8. ввожу запрос такого вида: select * from `table` where `text` like "%что-то%" и мне выводит гораздо больше результатов, чем должно быть на самом деле. то есть, также и некоторые записи, в которых поле `text` не содержит вхождения "что-то". Как с этим бороться?
PS. от техподдержки хостера в ответ пришёл вежливый посыл.
|
|
« Последнее редактирование: 12-08-2006 00:23 от Chuda »
|
Записан
|
|
|
|
RXL
Технический
Администратор
Offline
Пол:
|
|
« Ответ #19 : 13-08-2006 10:34 » |
|
Chuda, версия сервера, настройка charset?
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Chuda
Гость
|
|
« Ответ #20 : 13-08-2006 10:41 » |
|
Знать бы, как это узнать точно.. MySQL 4.0.x В общем, мастерхост.
|
|
|
Записан
|
|
|
|
RXL
Технический
Администратор
Offline
Пол:
|
|
« Ответ #21 : 13-08-2006 10:46 » |
|
SELECT VERSION();
Мастерхост - быстрее 4.0.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Chuda
Гость
|
|
« Ответ #22 : 13-08-2006 10:56 » |
|
4.0.26-log а где посмотреть их языковые настройки?
|
|
|
Записан
|
|
|
|
RXL
Технический
Администратор
Offline
Пол:
|
|
« Ответ #23 : 13-08-2006 20:05 » |
|
SHOW VARIABLES;
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Chuda
Гость
|
|
« Ответ #24 : 13-08-2006 21:39 » |
|
character_set cp1251 character_sets cp1251 koi8_ru dec8 dos german1 hp8 latin1 latin2 не особо обнадёживает
|
|
|
Записан
|
|
|
|
RXL
Технический
Администратор
Offline
Пол:
|
|
« Ответ #25 : 14-08-2006 05:36 » |
|
Chuda, напиши им заявку на базу с поддержкой utf-8 - думаю за отдельную копейку сделают.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Chuda
Гость
|
|
« Ответ #26 : 14-08-2006 05:39 » |
|
не, отказали. сказали - покупай сервер и ставь на колокэйшн. что не очень интересно. Есть и другие хостеры.
|
|
|
Записан
|
|
|
|
|