MySQL - кодировка базы данных

Аватара пользователя
Vlad Drakula

MySQL - кодировка базы данных

Сообщение Vlad Drakula »

есть база она в CP1251



в ней есть русский текст, делаю к ней запрос из PHP вместо текст выводятся вопросики.



а если смотреть из PMA то текст показывается нормально, что нужно сделать чтобы у меня тоже он отображался правильно?
Аватара пользователя
andrystepa

Re: MySQL - кодировка базы данных

Сообщение andrystepa »

Надо кодировку connect-а менять на нужную.

инфа




PMA вроде тоже так делают (смотри рисунок)



Я вообще везде UTF-8 использую
Аватара пользователя
stone_wings

Re: MySQL - кодировка базы данных

Сообщение stone_wings »

Я тоже с этим мучаюсь. Изображение На серве БД в UTF-8 а на локалхосте СР1251... =\ В общем вытянутый файлик с локалхоста открываю через блокнот и сохраняю также только в "Юникод"е.... И после тыкаю тот скрипт на сервер.. Ну и обратно таким же макаром. Изображение
Аватара пользователя
vadimiron

Re: MySQL - кодировка базы данных

Сообщение vadimiron »

Можна попробовать сделать так.



Код:

Код: Выделить всё

ALTER TABLE table1 CONVERT TO CHARACTER SET cp1251_general_ci  
ALTER TABLE table1 DEFAULT CHARACTER SET cp1251_general_ci  
ALTER DATABASE database1 DEFAULT CHARACTER SET cp1251_general_ci

Или попробовать
CONVERT() and CAST()
Вложения

[Расширение png было запрещено, вложение больше недоступно.]

Аватара пользователя
BarNet

Re: MySQL - кодировка базы данных

Сообщение BarNet »

Зачем так заморачиватся?



$db=mysql_pconnect('hostname','usrname','password');



mysql_select_db('DBName',$db);



mysql_query("SET NAMES cp1251");



И всё работает Изображение
Аватара пользователя
rus-4-ever

Re: MySQL - кодировка базы данных

Сообщение rus-4-ever »

Зачем так заморачиватся?

$db=mysql_pconnect('hostname','usrname','password');

mysql_select_db('DBName',$db);

mysql_query("SET NAMES cp1251");

И всё работает Изображение
Аватара пользователя
stone_wings

Re: MySQL - кодировка базы данных

Сообщение stone_wings »

Интересное дело получается.. Изображение Как грит rus-4-ever получается. Но когда смотрю через cmd->mysql при любой кодировке (пробЫвал командами set names/set character set) выдают кракозябру. Подскажите как перевести всё на один тип кодировки. (Я имею ввиду клиентскую и серверную части.) Насколько я понимаю там есть три типо этих кодировок.. Первая серверная, вторая входящие переменные, и третья исходящие...
Аватара пользователя
stone_wings

Re: MySQL - кодировка базы данных

Сообщение stone_wings »

Порылся в гугле в общем добился "вроде какого" результата.. Только подскажите вот что. В клиенте (EMS 4.1) показывает нормально (Charset client стоит UTF8), в коде не совсем (приходится писать "set names utf8"), а в cmd->mysql бракозябра (но радует что не вопросы, т.к. видимо кодировку правильно ввёл). В комадной строке писал "set names utf8", "set charset utf8" не помогло... Какие есть варинты... Хочу что бы в клиенте и в командной строке отображало одинково (utf8 ну или cp1251), и что б в коде (php) не надо было писать "set names ***". Как это всё сделать?



ЗЫ: Ведь знает кто то.. Подскажите.. В манке на dev.mysql.com ответа не нашёл. Изображение
Аватара пользователя
stone_wings

Re: MySQL - кодировка базы данных

Сообщение stone_wings »

Веселуха блин.. Сбросил Wizard'ом настройки скуля, вношу в таблицу (всё по дефолту)... Но вот в браузерах (Осёл, Опера) вижу только "???????????" и что это такое? О.о Короче интересно всё как то...



ЗЫ: Опять же когда в коде (php) пишут "SET NAMES ...." показует нормально... РАССКАЖИТЕ ЧТО У МЕНЯ ТУТ ПРОИСХОДИТ! И как заставить выводить (хоть в какой нить адекватной кодировке) инфу под браузер. Плз! Изображение
Аватара пользователя
tolbol

Re: MySQL - кодировка базы данных

Сообщение tolbol »

советую в качестве базы для своих разработок использовать такую КМС как Joomla, если во всех своих скриптах использовать подключение основных файлов джумлы таких как config, globals и joomla, то никаких проблем с кодировками быть не должно и всё прекрасно будет сохраняться и читаться в utf8, вообще завязывайте вы с использованием отечественных кодировок, utf8 это универсально и просто.

Пример кстати такой идеальной работы можно поглядеть
здесь
.
Ответить

Вернуться в «Программирование и базы данных»