Крякозяблы в phpMyAdmin utf8 как windows 1252

Статус
В этой теме нельзя размещать новые ответы.

ольга2013

Постоялец
Регистрация
10 Ноя 2013
Сообщения
134
Реакции
15
Помогите решить phpMyAdmin в базе (таблицах) отображает страна что соответствует слову "страна" на сайте все ровно и красиво все на русском без крякозяблов. Этот Для просмотра ссылки Войди или Зарегистрируйся подсказал что это utf8 отображает как windows-1252 Подскажите зачем и почему phpMyAdmin utf8 отображает как windows-1252
Запрос в базу
SHOW GLOBAL VARIABLES LIKE 'character%'
+ Параметры
Variable_name Value
character_set_client utf8
character_set_connection utf8
character_set_database utf8
character_set_filesystem binary
character_set_results utf8
character_set_server utf8
character_set_system utf8
character_sets_dir /usr/share/mysql/charsets/

SHOW VARIABLES LIKE "character_set_database";


+ Параметры
Variable_name Value
character_set_database utf8

В браузере
ОТВЕТ

Cache-Control no-cache, must-revalidate
Connection keep-alive
Content-Encoding gzip
Content-Length 14724
Content-Type text/html; charset=utf8
Date Tue, 17 Feb 2015 12:13:10 GMT
Expires Sat, 26 Jul 1997 05:00:00 GMT
Server nginx/1.2.1
Set-Cookie classified_session=293a8f3a9c39fae3e2ddba18229232e2; path=/; domain=.111.com classified_session=293a8f3a9c39fae3e2ddba18229232e2; path=/; domain=.111.com
Vary Accept-Encoding
X-Powered-By PHP/5.4.36-0+deb7u3

ЗАПРОС

GET /register.php HTTP/1.1
Host: 111.com
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Referer: Для просмотра ссылки Войди или Зарегистрируйся
Connection: keep-alive
Cache-Control: max-age=0




 
Помогите решить phpMyAdmin в базе (таблицах) отображает страна что соответствует слову "страна" на сайте все ровно и красиво все на русском без крякозяблов.
К сожалению, то что на сайте всё ровно не означает, что он правильно работает с БД. Я в своей программистской юности умудрился накодить так, что в на сайте всё ок, а в таблице хранится в кракозяблах. Быстро проверить это можно воспользовавшись десктопной альтернативой phpMyAdmin, к примеру Navicat Premium или HeidiSQL.

SHOW VARIABLES LIKE "character_set_database"; - запрос хороший, главное не промахнутся и выполнить его в контексте исследуемой базы ;)
Я предпочитаю:
Код:
SELECT DEFAULT_CHARACTER_SET_NAME, DEFAULT_COLLATION_NAME, SCHEMA_NAME
FROM INFORMATION_SCHEMA.SCHEMATA;
#или с жестко заданной бд
SELECT DEFAULT_CHARACTER_SET_NAME, DEFAULT_COLLATION_NAME
FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = 'db_name';

И это всего лишь дефолтная кодировка базы, для верного понимания надо смотреть кодировку таблиц в базе:
Код:
SELECT TABLE_NAME, TABLE_COLLATION
FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'db_name';

# а еще лучше смотреть последние строчки:
SHOW CREATE TABLE tbl_name;

P.S.: Вопрос супер, всё очень подробно расписали - лайкнул!
 
К сожалению, то что на сайте всё ровно не означает, что он правильно работает с БД. Я в своей программистской юности умудрился накодить так, что в на сайте всё ок, а в таблице хранится в кракозяблах. Быстро проверить это можно воспользовавшись десктопной альтернативой phpMyAdmin, к примеру Navicat Premium или HeidiSQL.
Спасибо за подробный ответ попробую как можно подробней написать что получается
запрос
SELECT DEFAULT_CHARACTER_SET_NAME, DEFAULT_COLLATION_NAME, SCHEMA_NAME
FROM INFORMATION_SCHEMA.SCHEMATA;
+ Параметры
DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SCHEMA_NAME

utf8 utf8_general_ci имя базы

Запрос по таблицам
SELECT TABLE_NAME, TABLE_COLLATION
FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'db_name';
utf8_general_ci

Запрос в таблицу с которой проблема но ответ не понятен(
SHOW CREATE TABLE geodesic_userdata;

+ Параметры

Table Create Table
geodesic_userdata CREATE TABLE `geodesic_userdata` (
`id` int(11) ...


Scre58ot.png
И еще если я в базе правлю это Васян на русский текст (через phpMyAdmin) то получаю что в базе все что правила на русском а на сайте выводит ???????
Спасибо за возможные ответы и помощь)))

PS. Все заработало Спасибо за советы, и очень помог и не дал сложить руки интерес к моей проблеме)))
Решение - в скрипте добавила
Код:
 $force_db_connection_charset = 'utf8';
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху