как сменить кодировку у бд?

12
basterr
На сайте с 24.11.2005
Offline
719
1553

подскажите плз. как кодировку базы данных сменить в phpmyadmin'e.

з.ы. питерхост долбаный, третий день из-за них фигней какой то страдаю.

W
На сайте с 21.03.2007
Offline
50
#1

Заходишь в базу данных и там меняешь кодировку

Хостинг под дорвеи (http://webstrana.net/hosting/) Свой платник всего за 65$. Окупаемость - 10 десятибаксовых смс! (http://webstrana.net/2010/05/platnik-x-to-chego-mnogie-tak-dolgo-zhdali/)
basterr
На сайте с 24.11.2005
Offline
719
#2

блин, просто гениальный ответ:) это как непрошибаемый питерхост мне седня ответил насчет моего вопроса о том как можно создать нагрузку на сервере, на котором программно заблочено превышение ресурсов свыше нормы: "значит смогли"

вообще можно подробнее? я не нашел там такого, нашел только если у каждой таблицы менять, но это убийственная работа.

W
На сайте с 21.03.2007
Offline
50
#3

Там в пхп админе есть параметр кодировка базы. Не сложно это. А лучше попроси чтобы они тебе сами все сделали или сказали че где меняется. Вапщето ты им за это деньги платишь.

DI
На сайте с 03.01.2007
Offline
123
#4

Надежнее всего - сделать дамп, в нем автозаменой поменять у таблиц кодировку. Код будет выглядеть примерно так:

CREATE TABLE `XXX` (
....
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;

Нужно поменять cp1251 на нужное значение (utf8, например), и закачать обратно дамп.

Можно и без дампа (начиная с версии 4.1):

ALTER DATABASE db_name [DEFAULT CHARACTER SET character_set_name [COLLATE collation_name]]

но через дамп все же надежнее (а может, просто привычнее :) )

Высказывание идиотского утверждения требует на порядок меньше усилий, чем его последовательное и обоснованное опровержение и более того, иногда это опровержение вообще невозможно. © (http://zhurnal.lib.ru/s/shapiro_m_a/raspidiota.shtml)
[Удален]
#5

SET character_set_client='utf8';

SET character_set_connection='utf8';

SET character_set_database='utf8';

SET character_set_results='utf8';

SET character_set_server='utf8';

DI
На сайте с 03.01.2007
Offline
123
#6

Максим Концепция, это не влияет на кодировку, в которой хранятся данные. Да и потом, вместо этих команд можно написать SET NAMES 'utf8'; - это в общем-то аналогично. Но меняет параметры подключения, а не кодировку данных.

basterr
На сайте с 24.11.2005
Offline
719
#7

DenIT, ALTER DATABASE db_name [DEFAULT CHARACTER SET character_set_name [COLLATE collation_name]]

character_set_name тут так писать: 'utf8' или без ''?

collation_name вот тут я вообще не понял что написать.

DI
На сайте с 03.01.2007
Offline
123
#8

Без. (линк на mysql.com)

Сопоставление - необязательный параметр, можно ничего не писать, т.е. вот так:

ALTER DATABASE db_name DEFAULT CHARACTER SET utf8;
Jeck
На сайте с 20.07.2006
Offline
82
#9

Если Mysql 4 версии то там все в UTF8 по умолчанию и с изменением какие то проблемы. Спасает переключение с помошью SQL запроса при подключении.


SET NAMES 'cp1251'
Мой блог (http://jeck.ru)
Obe_Van
На сайте с 24.09.2007
Offline
35
#10

Чтобы были русские символы вместо знаков "??????????" нужно использовать команду SET NAMES.

Вот пример, сразу после команды подключения к базе:

$this->dbh = @mysql_connect($dbhost, $dbuser, $dbpassword);

mysql_query("SET NAMES cp1251");

Отличные VDS (http://firstvds.ru/index.html?from=23649)-сервера. Я регистрирую домены в Укрнеймс (http://www.ukrnames.com/?ref_id=72)
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий