Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: буква Я
 
 автор: Хулиган   (24.09.2006 в 13:36)   письмо автору
 
 

Почему mysql сжирает букву "я" и как с этим бороться?
Например, делаю значение поля по умолчанию "помещения", а в БД заносится "помещени".

   
 
 автор: cheops   (24.09.2006 в 13:41)   письмо автору
 
   для: Хулиган   (24.09.2006 в 13:36)
 

Лучше не использовать русские названия в качестве имён таблиц и полей, а если использовать, то без буквы я. Вообще начиная с MySQL 5 для хранения служебной информации используется UNICODE, но тут в какой-то теме сообщалось, что всё равно хренового работает с русскими символами, поэтому лучше их избегать.

   
 
 автор: Хулиган   (24.09.2006 в 14:02)   письмо автору
 
   для: cheops   (24.09.2006 в 13:41)
 

Поля и таблицы все латинскими буквами. А вот значения поля типа enum очень желательно было бы кириллицей, ибо выводится на экран. Что делать? Принудительную конкатенацию с буквой "я"?

   
 
 автор: name   (24.09.2006 в 14:25)   письмо автору
 
   для: Хулиган   (24.09.2006 в 14:02)
 

Можно в ENUM-е латинскими, а при выводе воспользоваться switch-ом. А можно создать еще таблицу - id, name; а в поле типа ENUM преобразовать в числовое и хранить первичные ключи созданной таблицы. При выводе использовать поле name

   
 
 автор: Trianon   (24.09.2006 в 17:41)   письмо автору
 
   для: cheops   (24.09.2006 в 13:41)
 

Проблемы возникают не с русскими символами вообще, а лишь с символом, код которого равен 255 о инконсистентности которого (255-го кода, а не символа) прямо заявлено в руководстве MySQL.
Это маленькая русская буква я в кодировке Windows-1251.
Если настолько спичит хранить метаданные на русском языке, можно посоветовать держать базу в кодировке koi8r. Там 255-й код, если не ошибаюсь - большой твердый знак :))

   
 
 автор: Хулиган   (24.09.2006 в 18:50)   письмо автору
 
   для: Trianon   (24.09.2006 в 17:41)
 

эти enums специально задействованы, чтобы уйти от switch'ей.
Если никак не удастся обойти "я", тогда попробую перейти на koi8r.
Спасибо.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования