Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ZeosDBO mysql cp1251, Русский текст в ХП не распознается Delph 
:(
    Опции темы
Gwire
Дата 8.6.2009, 21:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 216
Регистрация: 7.8.2007
Где: Николаев

Репутация: нет
Всего: 4



В MySQL создаю функцию
Код
DELIMITER //
CREATE FUNCTION `f_test`(id INT) RETURNS varchar(32) CHARSET cp1251
BEGIN
    RETURN "Пробный текст";
END//


Если выполнить запрос "SELECT f_test( 0)" в PHPMyAdmin получаю то, что ожидаю.

А если его выполнить в Delphi (использую пакет ZeosDBO)
Код
ZQuery1.SQL.Text:= 'SELECT f_test( 0 )';
    ZQuery1.Open;
    InputBox('','', ZQuery1.Fields[0].AsString );
    ZQuery1.Close;

получаю что-то непонятное "Пробный текст"
замечу, что русский текст данных в таблицах распознается нормально

Подскажите: что и где нужно указать.

PM MAIL   Вверх
Keeper89
Дата 8.6.2009, 21:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: 1
Всего: 58



Какая версия Delphi?


--------------------
PM MAIL WWW   Вверх
Romikgy
Дата 8.6.2009, 21:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 4
Всего: 146



Код

InputBox('','', Utf8ToAnsi(ZQuery1.Fields[0].AsString) );

а так?


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Gwire
Дата 9.6.2009, 13:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 216
Регистрация: 7.8.2007
Где: Николаев

Репутация: нет
Всего: 4




Keeper89, версия 6-я.
Romikgy, с Utf8ToAnsi получается.
Но дело в том, что "Пробный текст" при вызове ХП f_test не просто возвращается не правильным значение.
Если в базе есть данные которые я хочу сравнить с текстом в ХП, то сравнение производитя с "Пробный текст"

Вот в этом вся беда. Например у меня есть таблица "e_ihead" (everyday invoice head) вней есть поле "state"
которое принимает значение enum("ЧЕРН","РЕЗР","ПРОВ")
Я написал несколько ХП, где сравниваю state указаной записи и выполняю соответствующую операцию.
А при вызове из D6 текст ХП содержит вместо "ЧЕРН" - "ЧЕРН", "РЕЗР"="РЕЗР" а "ПРОВ"="РџР РћР".
Обидно столько время потратил на разработку ХП.

Конечно можно вместо русских - использовать enum("CERN","PEZR","PROV"),
но хотелось бы заставить программу понимать нашу глаголицу

PM MAIL   Вверх
Keeper89
Дата 9.6.2009, 13:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: 1
Всего: 58



Смысл в том, что, если вы используете UTF-8 в БД, нужно переводить его в ANSI для отображения в программе (т.к. до версии 2009 стандартные компоненты Unicode не поддерживают).
Поэтому либо соответственно конвертируйте из/в UTF-8 при получении/вводе данных, либо сделайте всю БД в кодировке ANSI.


--------------------
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.1092 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.