character sets

  • Автор темы Автор темы zag
  • Дата начала Дата начала

zag

Guest
character sets

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

SET CHARACTER SET win1251

Ответ MySQL:


Unknown character set: 'win1251'

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

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

нет.

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

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

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

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

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

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

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

естесственно UCASE и прочие работают на основе установленной кодировки. если кодировка неправильная, то они и работать будут соответственно.
 
Отсюда вопрос, как изменить кодировку?
Я долго мучил SET CHARACTER SET, но так ничего и не добился!
 
я что делать, если у провайдера default-character-set установлен latin1 (американцы).

как быть с кирилицей ( сортировкой и т.д.) ?
 
ну если данные в win1251, то указывать BINARY будет своеобразным решением.
 
люди которые соображают в этом... опишите решение в факе плиз... потому как проблема недохлая... и трудновато вьехать...
 
Фрутик- это уже давно есть у Тони в факе:
http://tony2001.phpclub.net/faq/mysql.charset.html

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

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

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

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