Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: MySql MyODBC и Unicode или SJIS  (Прочитано 25274 раз)
0 Пользователей и 3 Гостей смотрят эту тему.
Василий
Гость
« : 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 Offline
Пол: Мужской

WWW
« Ответ #1 : 26-08-2005 12:01 » 

А файл sjis.conf в поставке есть?
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Василий
Гость
« Ответ #2 : 26-08-2005 12:09 » 

В поставке чего?
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #3 : 26-08-2005 12:11 » 

Дистрибутива mysql конечно.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Василий
Гость
« Ответ #4 : 26-08-2005 12:55 » 

не было такого файла. Сам Mysql хранит иероглифы я понски нормально
, но из него их не как не полусить приходят одни Не понял
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #5 : 27-08-2005 18:35 » 

http://dev.mysql.com/doc/mysql/ru/localisation.html
http://dev.mysql.com/doc/mysql/ru/multi-byte-characters.html
http://dev.mysql.com/doc/mysql/ru/problems-with-character-sets.html

В последней ссылке - "Проблемы с наборами символов" - то, что нужно.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #6 : 27-08-2005 18:52 » 

Как я понял многобайтные кодировки должны быть включены во время компиляции. Кстати, там и UTF-8 есть - может подойдет?
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Василий
Гость
« Ответ #7 : 28-08-2005 05:52 » 

Это все под Windows, да и кажется проблемы с MyODBC, которая не поддерживает японские кадировки..
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #8 : 29-08-2005 08:27 » new

http://dev.mysql.com/doc/mysql/en/odbc-connector.html
http://forums.mysql.com/
http://forums.mysql.com/list.php?37
http://forums.mysql.com/search.php?0,search=japan,page=1,match_type=ALL,match_dates=30,match_forum=ALL,body=1,author=1,subject=1
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Василий
Гость
« Ответ #9 : 29-08-2005 13:02 » 

Я нашел способ это сделать теперь мне нужно получит оттуда этот unicode на web page.
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #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 Offline
Пол: Мужской

WWW
« Ответ #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 Offline
Пол: Мужской

WWW
« Ответ #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 Offline
Пол: Мужской

WWW
« Ответ #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 Offline
Пол: Мужской

WWW
« Ответ #19 : 13-08-2006 10:34 » 

Chuda, версия сервера, настройка charset?
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Chuda
Гость
« Ответ #20 : 13-08-2006 10:41 » 

Знать бы, как это узнать точно.. MySQL 4.0.x
В общем, мастерхост.
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #21 : 13-08-2006 10:46 » 

SELECT VERSION();

Мастерхост - быстрее 4.0.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Chuda
Гость
« Ответ #22 : 13-08-2006 10:56 » 

4.0.26-log
а где посмотреть их языковые настройки?
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #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 Offline
Пол: Мужской

WWW
« Ответ #25 : 14-08-2006 05:36 » 

Chuda, напиши им заявку на базу с поддержкой utf-8 - думаю за отдельную копейку сделают.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Chuda
Гость
« Ответ #26 : 14-08-2006 05:39 » 

не, отказали.
сказали - покупай сервер и ставь на колокэйшн.
что не очень интересно.
Есть и другие хостеры.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines