Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
MySQL. Хранимые процедуры. Кириллица! (GerholdtSchnaps) 16/12/2007 - 17:28:10
      Re: MySQL. Хранимые процедуры. Кириллица! (Станислав) 28/04/2010 - 16:53:02



From: GerholdtSchnaps - 16/12/2007 - 17:28:10
Subject:MySQL. Хранимые процедуры. Кириллица!
-----------------
Проблема возникла, когда я решил обильно снабдить процедуру комментариями на русском. После компиляции и сохранения весь русский текст превращается в кучу бреда (не `?` как обычно это бывает в случае несоответсвия кодировок), а что-то типа "привет". При этом длина каждого слова увеличивается ровно в два раза, т.е. слово "привет"(6 символов) превращается в "привет"(12 символов).

Кодировка сервера: cp1251
Кодировка information_shema: utf8
Кодировка базы mysql: cp1251
Кодровка базы: cp1251
(проблема не решается даже если кодировка сервера и всех баз utf8)

Что удалось выяснить:
1. В information_shema в таблице routines код процедуры в поле routine_definition(longtext) все сохраняется правильно, т.е. весь русский текст в теле процедуры остается русским текстом.
2. В базе mysql в таблице proc в поле body(longblob) для этой процедуры также есть описание тела и именно здесь весь русский текст превращается в "РїСЂРёРІРµС".

Суть проблемы в том, что при редактировании процедуры тело берется именно из mysql>proc>body (CoreLab MyDeveloperStudio, EMS и несколько других редакторов). Если вызвать процедуру из Delphi7(CoreLab MyDAC), то выводится "РїСЂРёРІРµС". QueryBrowser же хватает тело процедуры, судя по всему, из information_shema.

Объясните мне кто-нибудь, что нужно сделать чтобы в mysql>proc>body сохранялась не хня, а нормальный текст (руками можно конечно все переписывать каждый раз после компиляции, но не вариант)


Текст процедуры
DELIMITER $$
DROP PROCEDURE IF EXISTS `test`.`proc1` $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `proc1`()
BEGIN

-- комментарий
select 'привет';

END $$
DELIMITER ;


Изложил может быть немного сумбурно, но я просто уже и не знаю что делать.


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
37076



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |