phpMyAdmin и UTF-8
3602
5
Колупаюсь на досуге с PHP и MySQL, возник затык с отображением кодировки UTF-8
Имеем страницу с
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

Отправляем данные в созданную таблицу MySQL и получаем на выходе то что на скрине.
В браузере все отображается ОК.
Параметры кодировки в phpmyadmin:
Variable_name
Value
character_set_client cp1251
character_set_connection cp1251
character_set_database cp1251
character_set_filesystem binary
character_set_results cp1251
character_set_server cp1251
character_set_system utf8
character_sets_dir /usr/local/share/mysql/charsets/


Как привести текст к читабельному виду?
Alexander_
Отправляем данные в созданную таблицу MySQL
В какой кодировке таблица и колонки таблицы?

"show create table <ваша таблица>"

Покажет что-то вроде:

CREATE TABLE `misc` (
`param` varchar(255) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
`val` varbinary(2000) NOT NULL,
PRIMARY KEY (`param`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8



получаем на выходе то что на скрине.
В браузере все отображается ОК.
Взаимоисключающие параграфы или я что-то не понял.
IEEE
и что в конфиге в $cfg['DefaultCharset'] написано?
В зависимости от версии там или 'iso-8859-1' или 'utf-8'. Попробуйте поменять на 'windows-1251'?
IEEE

CREATE TABLE `aliens_` (
`first_name` varchar(30) DEFAULT NULL,
`last_name` varchar(30) DEFAULT NULL,
...
`other` varchar(100) DEFAULT NULL,
`email` varchar(50) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8


В принципе проблему решил подставляя эту строку после каждого соединения с mysql
mysqli_set_charset($dbc, "utf8");


Но хочется знать, существует ли более централизованное решение.

Где посмотреть этот конфиг $cfg['DefaultCharset'] (я только начинаю изучать эту тему), база стоит на сервере хостера, у себя я пока локально ничего не устанавливал.
Alexander_
Если Вы хотите исправить phpMyAdmin, то в случае если он предоставлен хостером может быть проблематично. Можно попросить его поставить параметры character_set_client с cp1251 на utf8.

Если Вы хотите исправить свое приложение, то решение Вы уже нашли.
Выставить кодировку в подключении это нормальный подход.
IEEE
Ок, спасибо :улыб:
Я задавал вчера подобный вопрос хостеру, они ответили что подставлять данный код, самый простой вариант.