MySQL: вопросы и ответы 3

Pit

Старожил
Создал таблицу, в ней колонку формата TEXT. Но при записи в нее русского текста идет перекадировка.
Как от этого избавиться?
 

kenZZZo

Старожил
если ты о MySQL, то:
Collation (сравнение) колонки/таблицы я выставляю в
cp1251_general_ci
чтобы гаратированно не было проблем после коннекта к DB вызываю
mysql_query("SET CHARACTER SET cp1251");
 

Pit

Старожил
Да, о MySQL
Если не трудно можно каким нибудь простеньким примером(скриптом) :oops:
 

kenZZZo

Старожил
у тебя есть БД your_db, тогда для начала устанавливаешь нужное сравнение:

ALTER DATABASE your_db DEFAULT CHARACTER SET cp1251 COLLATE cp1251_general_ci - запрос через командную строку sql

либо скриптом

mysql_query("ALTER DATABASE your_db DEFAULT CHARACTER SET cp1251 COLLATE cp1251_general_ci");

либо в phpMyAdmin.

а потом в своём скрипте после того, как подсоединился к серверу и базе данных

$link = mysql_connect ( $db_server, $db_login, $db_password ); mysql_select_db ( $db_name, $link );

устанавливашь нужный чарсет

mysql_query("SET CHARACTER SET cp1251");
 

Pit

Старожил
Набрал через кмандную строку MySQL
Код:
ALTER DATABASE your_db DEFAULT CHARACTER SET cp1251 COLLATE cp1251_general_ci

Выдает ошибку :(


А через командную строку MySQL, должно содержание таблицы отображаться "русскими буквами" :?: :oops:
 

Pit

Старожил
hostt":3cyrygkh сказал(а):

your_db = Название моей базы данных

Добавлено спустя 54 минуты 14 секунд:

Попробывал вывести данные из таблицы через PHP скрипт, оказалось все ОК! Просто я смотрел данные таблицы через командную строку MySQL, а там все похоже по-русски не отображаеться. :x
 

Pit

Старожил
Еще один вопросик какие атрибуты должны быть у столбца типа id_name, чтобы приудалении записи №5, №6 занимала ее строчку, т.е. становилась пятой?
 

kenZZZo

Старожил
Никакие.
В этом нет необходимости.
id - он на то и id, чтобы всегда соответсвовать определенной записи.
 
Верх