phpMyAdmin и UTF-8
3702
5
Alexander_
veteran
Колупаюсь на досуге с PHP и MySQL, возник затык с отображением кодировки UTF-8
Имеем страницу с
Отправляем данные в созданную таблицу MySQL и получаем на выходе то что на скрине.
В браузере все отображается ОК.
Параметры кодировки в phpmyadmin:
Как привести текст к читабельному виду?
Имеем страницу с
<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/
Как привести текст к читабельному виду?
IEEE
experienced
Отправляем данные в созданную таблицу 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
получаем на выходе то что на скрине.
В браузере все отображается ОК.Взаимоисключающие параграфы или я что-то не понял.
и что в конфиге в $cfg['DefaultCharset'] написано?
В зависимости от версии там или 'iso-8859-1' или 'utf-8'. Попробуйте поменять на 'windows-1251'?
В зависимости от версии там или 'iso-8859-1' или 'utf-8'. Попробуйте поменять на 'windows-1251'?
Alexander_
veteran
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'] (я только начинаю изучать эту тему), база стоит на сервере хостера, у себя я пока локально ничего не устанавливал.
IEEE
experienced
Если Вы хотите исправить phpMyAdmin, то в случае если он предоставлен хостером может быть проблематично. Можно попросить его поставить параметры character_set_client с cp1251 на utf8.
Если Вы хотите исправить свое приложение, то решение Вы уже нашли.
Выставить кодировку в подключении это нормальный подход.
Если Вы хотите исправить свое приложение, то решение Вы уже нашли.
Выставить кодировку в подключении это нормальный подход.
Alexander_
veteran
Ок, спасибо
Я задавал вчера подобный вопрос хостеру, они ответили что подставлять данный код, самый простой вариант.
Я задавал вчера подобный вопрос хостеру, они ответили что подставлять данный код, самый простой вариант.