LINUX.ORG.RU

Ответ на: комментарий от Qwentor

а если смотреть через консоль в базу? в консоли выборка нормально отображается?
Возможно сами данные в таблице уже бытые

kiotoze ★★★★
()
Ответ на: комментарий от kiotoze

Разобрался

mysql> SHOW GLOBAL VARIABLES LIKE 'char%';

+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | latin1                     |
| character_set_connection | latin1                     |
| character_set_database   | latin1                     |
| character_set_filesystem | binary                     |
| character_set_results    | latin1                     |
| character_set_server     | latin1                     |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+

Qwentor ★★★★★
() автор топика
Ответ на: комментарий от kiotoze

Теперь так:

mysql> SHOW GLOBAL VARIABLES LIKE 'char%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
Но все равно знаки вопроса((

Qwentor ★★★★★
() автор топика
Последнее исправление: Qwentor (всего исправлений: 1)
Ответ на: комментарий от kiotoze

Из консоли отображается нормально:

mysql> SELECT * FROM banners;
+----+------------------+----------------+----------------------------+-------------------------+
| id | name | text | path | link |
+----+------------------+----------------+----------------------------+-------------------------+
| 1 | Монтаж35 | фигня | banners/20151226063711.jpg | http://www.montazh35.ru |
| 2 | Монтаж35-2 | Монтаж35 | banners/20151226063711.jpg | http://www.montazh35.ru |
| 3 | Монтаж35-3 | Монтаж35 | banners/20151226063711.jpg | http://www.montazh35.ru |
| 4 | Монтаж35-4 | Монтаж35 | banners/20151226063711.jpg | http://www.montazh35.ru |
+----+------------------+----------------+----------------------------+-------------------------+
4 rows in set (0.00 sec)

Qwentor ★★★★★
() автор топика
Ответ на: комментарий от kiotoze

Помогло

mysqli_query($link, "SET NAMES 'utf8'"); 
mysqli_query($link, "SET CHARACTER SET 'utf8'");
mysqli_query($link, "SET SESSION collation_connection = 'utf8_general_ci'");



Почему системные настройки не срабатывают?

Qwentor ★★★★★
() автор топика
Ответ на: комментарий от Qwentor

я точно не уверен, но возможно сама база или таблица в другой кодировке, и тогда collation другой

kiotoze ★★★★
()
Ответ на: комментарий от Qwentor

Скорее всего в качестве кодировки базы данных и таблиц указана latin1. Исправить проблему можно с помощью запросов вида alter database и alter table, примерно так

ALTER DATABASE database_name CHARACTER SET utf8 COLLATE utf8_unicode_ci; ALTER TABLE table_name CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Где database_name - имя базы данных, а table_name - название таблицы, для которой изменяется кодировка и collation.

lucentcode ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.