Проблемы с кодировкой mysql

программирование php MySQL сервер

При добавлении русского текста из формы в базу данных mysql, в phpmyadmin в таблице отображается не нормальный русский текст а знаки вопроса. При выводе из базы на страницу русский текст показывается нормально.

Как исправить эту проблему?

Я проделывал вот такие действия сначала:

в phpmyadmin выставил Сопоставление соединения с MySQL cp2151_general_ci
в таблице поставил engine=myisam DEFAULT CHARSET=cp2151
в мета тегах html страницы всегда выставлено charset=windows-1251
в apache AddDefaultCharset windows-1251

После этого появляется ошибка Incorrect string value и в таблицу нечего не добавляется

Далее я поменял:
в phpmyadmin выставил Сопоставление соединения с MySQL utf8_general_ci
в таблице поставил engine=myisam DEFAULT CHARSET=utf8
все остальное оставил как и было раньше

Теперь все в базу данных добавляется и выводится на страницу в нормальном русском виде
но в phpmyadmin в таблицах русский текст все равно выводится в знаках вопроса.

Как это исправить?

Примечание:
Я сумел все таки поменять кодировку mysql в файле my.ini виставил значения по умолчанию default-character-set=cp1251 и default-storage-engine=MYISAM но теперь в phpmyadmin не выводятся вопросительные знаки а там где должен быть русский текст просто пустая область, мне кажется теперь что сам phpmyadmin не выводит значения этих полей но почему понять не могу. Раньше же выводил вопросительные знаки а теперь вообще нечего. Но главное что на сайте весь руский текст выводится нормально.

Примечание:
А чего phpmyadmin-y не хватает ума не приложу. Кодировку я не хочу выставлять вручную в скриптах, так как знаю что mysql должен сам по умолчанию задавать кодировки и типы таблиц при создании такие какие требуются, просто это уже видимо для удобства должен каждый сам под себя подстраивать. Я думаю тут что-то все таки с этим phpmуadmin-oм не так, может какая-то тупая устаревшая версия мне попалась. А то пришлось когда я поставил php 5.4 менять в нем функции такие как eregi и еще несколько других на их новые эквиваленты

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

КСТАТИ ВСЕ НАСТРОЙКИ КОТОРЫЕ Я ПРИВЕЛ ВВЕРХУ СРАБОТАЛИ, ТАК ЧТО КОМУ НУЖНО МОЖЕТЕ ПРИМЕНЯТЬ ТЕ ЖЕ МЕТОДЫ ЧТО И Я.
Ответы:
в файле соединения с базой добавьте myslq_query("SET NAMES 'utf8'"); уже после выбора базы, с которой будете работать
Переведите всё в utf-8
Создайте .htaccess, впишите строку, AddDefaultCharset UTF-8, положите в корень сайта


11 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.