@newaitix

Как сделать правельно запрос в базу для выборки юникод данных?

Приходят каракули из базы данных.
$_connect_ = new PDO('mysql:host=localhost;dbname=db;charset=utf8;','root','12345');
$query = $_connect_->query("SELECT * FROM industries");
while($row = $query->fetch())
	echo "
	$row[name]<br>
	$row[value]<br>
	";

Выдает
éöó
éöó

Если убрать charset=utf8 придет
���
���

Тип таблицы myisam
Как это исправить?

CREATE TABLE db.industries (
  id int(11) NOT NULL AUTO_INCREMENT,
  name varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  value varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  PRIMARY KEY (id)
)
ENGINE = MYISAM
AUTO_INCREMENT = 2
AVG_ROW_LENGTH = 40
CHARACTER SET utf8
COLLATE utf8_bin;
  • Вопрос задан
  • 155 просмотров
Пригласить эксперта
Ответы на вопрос 1
janson
@janson
PHP-разработчик
Явным образом укажите, что у вас UTF-8 контент в БД:
$_connect_ = new PDO('mysql:host=localhost;dbname=db;charset=utf8;','root','12345');
$_connect->query("SET NAMES utf8");
$query = $_connect_->query("SELECT * FROM industries");
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы