Я использую Amazon RDS, и мне трудно читать данные utf из БД. Результаты отображаются как символы, отличные от utf, и, следовательно, с кодировкой utf-8 в db они отображаются как неверные символы.
БД была перенесена из другой базы данных MySQL (не Amazon RDS), и когда код взаимодействует с этой базой данных, все в порядке.
Я проверил набор символов и сопоставление для всех таблиц, а сама БД - все они UTF-8 и utf_general_ci.
Страницы используют кодировку utf-8, как это
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
Я также пытался передать этот запрос «SET NAMES utf8», все равно не помогло.
Я заметил, что у кого-то еще была такая же проблема с RDS
И решение, данное им, состояло в том, чтобы указать набор символов в строке подключения, это решение, по-видимому, работало для рельсов, но я не думаю, что в PHP есть такая вещь, как строка подключения.
Вот как я подключаюсь к mysql
mysqli_connect($this->host, $this->login, $this->pw, $this->database)
Кроме того, если я изменю тип данных этих столбцов на двоичные типы данных, такие как BLOB, они будут работать правильно.