Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » MySQL - кодировка базы данных

Ответить
Настройки темы
MySQL - кодировка базы данных

Ночной странник


Contributor


Сообщения: 4050
Благодарности: 83


Конфигурация

Профиль | Сайт | Отправить PM | Цитировать


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

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

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

-------
можно практически все, но просто мы это еще не знаем.
главный враг програмиста это копипастинг
За хорошее сообщение не забываем нажимать ссылочку "Полезное сообщение"!


Отправлено: 19:39, 23-03-2008

 

Аватара для vadimiron

Ветеран


Сообщения: 1864
Благодарности: 120

Профиль | Отправить PM | Цитировать


Изображения
Тип файла: png phpmyadmin.png
(17.2 Kb, 28 просмотров)

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

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

Я вообще везде UTF-8 использую
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:04, 25-03-2008 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Пользователь


Сообщения: 53
Благодарности: 1

Профиль | Отправить PM | Цитировать


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

-------
Не знаешь, спрашуй...
Знаешь, доказуй...


Отправлено: 19:17, 06-04-2008 | #3


Аватара для BarNet

Новый участник


Сообщения: 19
Благодарности: 4

Профиль | Отправить PM | Цитировать


Можна попробовать сделать так.
Код: Выделить весь код
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()

Последний раз редактировалось BarNet, 09-04-2008 в 12:59.

Это сообщение посчитали полезным следующие участники:

Отправлено: 12:19, 09-04-2008 | #4


Пользователь


Сообщения: 78
Благодарности: 17

Профиль | Отправить PM | Цитировать


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

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

mysql_select_db('DBName',$db);

mysql_query("SET NAMES cp1251");

И всё работает
Это сообщение посчитали полезным следующие участники:

Отправлено: 23:05, 10-04-2008 | #5


Пользователь


Сообщения: 53
Благодарности: 1

Профиль | Отправить PM | Цитировать


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

-------
Не знаешь, спрашуй...
Знаешь, доказуй...


Отправлено: 02:16, 21-04-2008 | #6


Пользователь


Сообщения: 53
Благодарности: 1

Профиль | Отправить PM | Цитировать


Порылся в гугле в общем добился "вроде какого" результата.. Только подскажите вот что. В клиенте (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 ответа не нашёл.

-------
Не знаешь, спрашуй...
Знаешь, доказуй...


Отправлено: 22:10, 24-04-2008 | #7


Пользователь


Сообщения: 53
Благодарности: 1

Профиль | Отправить PM | Цитировать


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

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

-------
Не знаешь, спрашуй...
Знаешь, доказуй...


Отправлено: 23:22, 30-04-2008 | #8


Старожил


Сообщения: 163
Благодарности: 15

Профиль | Отправить PM | Цитировать


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

Отправлено: 19:18, 09-05-2008 | #9


Старожил


Сообщения: 201
Благодарности: 7

Профиль | Отправить PM | Цитировать


Ситуация такая. База нужна для веб сайта, и в ней записи на русском языке. При создании базы данных указывал опцию: CHARACTER SET cp1251. Создал файл с данными для одной из таблиц базы в кодировке cp1251. Добавляю его в таблицу с помощью LOAD DATA INFILE.... В терминале смотрю таблицу:
Код: Выделить весь код
SELECT * FROM makers;
- получаю имена мейкеров в виде
Код: Выделить весь код
????.?.
Думаю, может терминал не понимает. Посмотрел в Настройка->Кодировка стоит cp1251. Очистил таблицу, затем установил кодировку для конкретной таблицы:
Код: Выделить весь код
ALTER TABLE makers CONVERT TO CHARACTER SET cp1251 COLLATE cp1251_general_ci;
Опять добавил записи в таблицу - ничего не изменилось. Опять одни знаки вопроса, вместо букв! Как же все-таки сделать правильно?

Отправлено: 15:50, 12-09-2008 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » MySQL - кодировка базы данных

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] кодировка utf8 для базы dima1981 Вебмастеру 34 09-08-2008 09:23
базы данных по программам PaXA Программное обеспечение Windows 8 24-07-2006 00:31
SQL и базы данных Ivian Программирование и базы данных 3 18-03-2005 12:50
.NET - c# и базы данных den25 Программирование и базы данных 1 09-11-2004 08:07
Базы данных zxlMORF Программирование и базы данных 1 04-01-2004 15:26




 
Переход