|
|
|
| Создаю в консоли хранимую процедуру, внутри которой есть проверка:
После вызова show create procedure, нету русских букв:
Во всех остальных запросах, в определениях таблиц и в передачи параметров хранимым процедурам кириллица работает.
Странно, что выполняются они правильно, т.е. понимают кириллицу, но как быть если понадобится их перенести на другую базу, придеться вручную менять? | |
|
|
|
|
|
|
|
для: bdron
(16.12.2006 в 21:49)
| | Вы настраивате кодировку соединения при помощи запроса
Где cp1251 - нужная вам кодировка? Дело в том, что начиная с версии 4.1 кодировку нужно настраивать везде и всегда, когда вы работаете с национальными символами, иначе они будут искажаться (как правило, превращаться в знаки вопроса). | |
|
|
|
|
|
|
|
для: cheops
(16.12.2006 в 22:29)
| | Я указал set names 'cp1251' перед проверкой в самой хранимой процедуре, вызвал set names 'cp1251' перед созданием процедуры, а потом еще и перед show create, и все равно... | |
|
|
|
|
|
|
|
для: cheops
(16.12.2006 в 22:29)
| | По моему мнению, проблема заключается в том, что хранимые процедуры храняться в information_schema, для которой задана кодировка utf8. Т.к. указать в определении хранимой процедуры параметр character_set нельзя, ее определение преобразуются в родную кодировку utf8. Таким образом перед show create procedure необходимо использовать оператор:
Тогда все будет по-русски.
Судя по тому, что процедуры выполняются правильно при передачи данных в кодировке cp1251, входные параметры также вначале преобразуются в utf8.
P.S. Все вышесказанное справедливо также и для show create view. | |
|
|
|