character sets

zag

Guest
character sets

Привет.
По запросу SHOW VARIABLES получаю список charecter_sets.
Этот список кодировок которые реално присутствуют на сервере или просто список всех кодировок с которыми mySQL работать может ?
 

alpes

Весь мир на ладони
character_set - Принятый по умолчанию набор символов.
character_sets - Поддерживаемые наборы символов.
 

zag

Guest
SQL-запрос :

SET CHARACTER SET win1251

Ответ MySQL:


Unknown character set: 'win1251'

Подскажите, что может быть причиной этого ?
(Это при том, что в character_sets есть win1251)
 

zag

Guest
А разве тоже самое не делается запросом SET CHARACTER SET win1251 ?

Прописывал default-character-set=win1251 в My.cnf но без результатно.. сервер удаленный - когда перезагружаю, вроде пишит, что перезагрузился, но новые установки не принемаются.. Возможно ли перезагрузить сервер из кода ?
 

Апельсин

Оранжевое создание
> А разве тоже самое не делается запросом SET CHARACTER SET win1251 ?

нет.

> Прописывал default-character-set=win1251 в My.cnf но без результатно..

как именно прописывал? покажи.
Где лежит my.cnf ?

> Возможно ли перезагрузить сервер из кода ?

да. а оно тебе нужно?
 

zag

Guest
Вообщем разобрался.. перезагрузил из консоли все заработало..
Попрежнему интересно - как перезагрузить сервер из кода и что дает SET CHARACTER SET win1251 ?
 

Апельсин

Оранжевое создание
> как перезагрузить сервер из кода

как, как ..
пишешь скрипт, который выполняет mysqladmin shutdown, а потом запускает safe_mysqld. Соответственно права на все это должны быть.

> что дает SET CHARACTER SET win1251 ?

Твоя конструкция ничего не дает. Открой мануал и почитай для чего используется SET CHARACTER SET.
 

LAVrik

Guest
А может кто подскажет, как-же сделать UCASE (UPPER, etc) для записей в таблице состояшей из букв кирилицы?
К примеру, пытаюсь сделать
SELECT UCASE('Обзор статей и заметок')
И получаю результат "ОбзОР сТаТей и заМеТОк"...
Доступа к файлам сервера нет!
 

Апельсин

Оранжевое создание
> И получаю результат "ОбзОР сТаТей и заМеТОк"...

естесственно UCASE и прочие работают на основе установленной кодировки. если кодировка неправильная, то они и работать будут соответственно.
 

LAVrik

Guest
Отсюда вопрос, как изменить кодировку?
Я долго мучил SET CHARACTER SET, но так ничего и не добился!
 

jacksasha

Guest
я что делать, если у провайдера default-character-set установлен latin1 (американцы).

как быть с кирилицей ( сортировкой и т.д.) ?
 

Апельсин

Оранжевое создание
ну если данные в win1251, то указывать BINARY будет своеобразным решением.
 

Frutik

1024-й
люди которые соображают в этом... опишите решение в факе плиз... потому как проблема недохлая... и трудновато вьехать...
 

Апельсин

Оранжевое создание
Фрутик- это уже давно есть у Тони в факе:
http://tony2001.phpclub.net/faq/mysql.charset.html

ПС: Тони, я у тебя там ошибку нашла. У тебя написано
Отредактируйте файл /etc/my.cnf (c:\my.ini в Виндовс) ..
если ты ложишь файл в C:\ то он должен называться my.cnf, это если в виндовозную папку - то my.ini.
 

Frutik

1024-й
то что написано у тони я и сам знаю...

обьясните мне как такое (создать базу в отличной от дефаултной кодировке) провернуть (если возможно) без правки конфигурационных файлов

в частности почему не рабоатет описанное в английской версии мануала http://www.mysql.com/doc/en/Charset-database.html
или работает но я в чемто туплю?
 

Krisha

pain in the neck
а ты покаж как ты создаешь базу с отличной от дефаултной кодировке
 

Апельсин

Оранжевое создание
> или работает но я в чемто туплю?

то что там написано работает для версии 4.1 - ты в какой пытаешься создать?
 

Frutik

1024-й
все... понял... как всегда все будет... но позже... в 4.1.
когда ж они ее уже релизнут...
нельзя ж так людей мучить... :)
 
Сверху