Перейти к содержанию
Авторизация  
Lightning

кодировка в связи php - ajax - sql

Рекомендуемые сообщения

Пользуюсь локальным сервером xampp и встроенным в него локальным сервером sql, создал страничку расширения .php на которой есть input тип текстовый, беру из него при помощи аякса значение (кирилический текст) передаю в базу, захожу в phpAdmin е в базу, вижу иероглифы, но когда получаю информацию из базы то она на самой страничке корректно отображается, почему в самом phpmyadmin -е некорректно все отображено? гуглил около 1 часа переставлял кодировки всего но ничего не помогло

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Очень похоже, что кодировка таблиц вин 1251

 

Как вариант изменить кодировку БД

SELECT CONCAT('ALTER TABLE `', t.`TABLE_SCHEMA`, '`.`', t.`TABLE_NAME`, '` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;') as sqlcode
  FROM `information_schema`.`TABLES` t
WHERE 1
  AND t.`TABLE_SCHEMA` = 'db_name'
ORDER BY 1

Где db_name - имя Вашей базы

 

На выходе получим, что-то типа:

ALTER TABLE `db_name`.`group_permissions` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE `db_name`.`group` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE `db_name`.`message` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

И так для каждой таблицы.

После, по одному, выполняем эти запросы.

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Очень похоже, что кодировка таблиц вин 1251

 

Как вариант изменить кодировку БД

SELECT CONCAT('ALTER TABLE `', t.`TABLE_SCHEMA`, '`.`', t.`TABLE_NAME`, '` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;') as sqlcode
  FROM `information_schema`.`TABLES` t
WHERE 1
  AND t.`TABLE_SCHEMA` = 'db_name'
ORDER BY 1

Где db_name - имя Вашей базы

 

На выходе получим, что-то типа:

ALTER TABLE `db_name`.`group_permissions` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE `db_name`.`group` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE `db_name`.`message` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

И так для каждой таблицы.

 

После, по одному, выполняем эти запросы.

Не помогло

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

в файле пхп принудительно укажи кодировку UTF-8

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

protected $connection;

public function __construct($host, $user, $password, $db_name) {
$this->connection = new mysqli($host, $user, $password, $db_name);
$this->connection->set_charset("utf8");
}
  • Upvote 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

в файле пхп принудительно укажи кодировку UTF-8

 

Пробовал не помогло, везде ставил принудительно кодировку и в файле js и в php и в базе

 

protected $connection;

    public function __construct($host, $user, $password, $db_name) {
        $this->connection = new mysqli($host, $user, $password, $db_name);
        $this->connection->set_charset("utf8");
    }

Попробую спасибо

Изменено пользователем Lightning

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Тоже было такое с xampp. Честно говоря мне гуглеж тоже не помог, однако решил проблему сносом xampp и установкой open server. На боевом хостинге тоже все в порядке. Проблема явно в настройке xampp, а если по точнее - в sql сервере. Попробуйте установить open server. Удачи!

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

буквально вчера была похожая проблема. Поменял версию php с 5.2 на 5.6 и всё заработало. 

Изменено пользователем zGosu

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

буквально вчера была похожая проблема. Поменял версию php с 5.2 на 5.6 и всё заработало.

А вы это проделывали на xampp?

P.S: Почему не 7 версия php?

Изменено пользователем Tima42

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...