Машина: Centos 6.2 64bit. Установлена mysql, в ней есть база, а в ней таблица с русскими буквами. Точнее должны быть русские буквы, а выглядите это так:
select * from `text`;
|
| 6 | Видео наблюдение | <span class="z">Монтаж ÑиÑтем видеонаблюдениÑ</span><br>
<img src="foto/foto4.jpg" width="250" height="188" align="left" style="margin:0 10px 0 0">
<span class="z3">О</span>хранные ÑиÑтемы и ÑиÑтемы Ð²Ð¸Ð´ÐµÐ¾Ð½Ð°Ð±Ð»ÑŽÐ´ÐµÐ½Ð¸Ñ - Ñто неотъемлемаÑ
чаÑть
политики безопаÑноÑти большинÑтва Ñовременных офиÑных и торговых центров, производÑтвенных
предприÑтий и Ñкладов, магазинов и банков. Кроме того вÑÑ‘ чаще и чаÑ
В phpmyadmin отображается так же криво:

А через форму сайта всё замечательно:

дело в том что прога mysqldump тоже дампит крякозябры...
Но! Если изменить данные в таблице через phpmyadmin или через консоль, то всё отображается норм...В консоле и phpmyadmin , а вот на страничке появляются за место букв ?????????
На сайте стоит в заголовке
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
В mysql кусок конфига:
[client]
#password = your_password
port = 3306
socket = /var/lib/mysql/mysql.sock
default-character-set = utf8
# Here follows entries for some specific programs
# The MySQL server
[mysqld]
port = 3306
socket = /var/lib/mysql/mysql.sock
skip-locking
key_buffer_size = 16M
max_allowed_packet = 1M
table_open_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
default-character-set = utf8
Что делать???
LinuxForum.Fans
Вёб сервер, кодировки....
Автор: DarkDigger
4 сообщений
1160 просмотров
Что делать???
Операционная система, как и версии СУБД и вебсервера (если они не из прошлого века) значения не имеют.
- Выкинуть раз и навсегда META и не вспоминать больше никогда. Вычистить все шаблоны
- Проверить в httpd.conf что отсутствует кодировка по умолчанию или в крайнем случае стоит utf-8
- Привести все текстовые файлы, шаблоны и инклюды PHP (или что там у Вас) строго к UTF-8. Есть на это enca, да и любой редактор приличный, если руками, та же Kate
- Задать БД кодировку по умолчанию utf-8 general_c Хотите в phpMyAdmin, хотите руками
Это единственная здравая конфигурация сайта, вебсервера и СУБД, остальные - неправильные.
На сервере mysql кодировки вроде норм заданы:
text
mysql> SHOW 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/ |
Все текстовые файлы (сценарии php, файлы html, css и так далее) в кодировке utf-8 без bom...
Почему же один сайт (phpmyadmin) отображает тоже самое что черз консоль, а сайт работает сам по себе....
Всё нормально стало работать, когда в php скриптах, сразу после соединения с базой данных сделать запрос
$rquery=mysqli_query($db,'set names utf8');
Интересно, где поменялась кодировка с юникода на что-то другое?? Я думаю надо курить php.ini, сто пудова это пых... Никто не сталкивался?
Войдите или зарегистрируйтесь, чтобы ответить.