Вы не авторизованы
:hover бывает не только у ссылок! UTF-8 Выпадающее меню без скриптов Выпадающее меню без скриптов - Дополнение Говорите правильно! Маскируемся Мобилизация Одна на всех, мы за ценой не постоим... Оффтопик: информация под микроволнами Работа над ошибками
Вроде простое задание: заполнить несколько полей таблицы текстом (конечно, в начале пересмотреть пару тысяч строк PHP-кода и потом только найти причину "неисправности", но это не в счет :-). Спустя 1-2 минуты работа сделана, сайт нормально работает и нужно проделать ту же операцию на другом сайте с точно такой же CMS. Знакомая картина, даже не нужно смотреть PHP в этот раз.
Но тут заказчик говорит: "Стоп, а почему я вместо нормальных буковок вижу ????????? ? ??????"
Надо решать вопрос. Откуда же растут ноги?
1) Сверяю все скрипты, буквально по строчкам (хорошо, что пока искал проблему в первый раз, успел запомнить, что отвечает за этот текст). Одинаковые они!
2) А может вопрос в кодировке? Дописываю в нужном месте:
mysql_query ("set character_set_client=cp1251");
mysql_query ("set character_set_results=cp1251");
mysql_query ("set collation_connection=cp1251_general_ci");
Как ни странно все работает. Почему странно? Да потому что в базе данных и во всех ее таблицах стоит кодировка UTF-8! В начале я пытался решить проблему, подставляя попеременно в скрипты
mysql_query ("set character_set_client=cp1251");
mysql_query ("set character_set_results=cp1251");
mysql_query ("set collation_connection=cp1251_general_ci");
mysql_query ("set character_set_client=utf-8");
mysql_query ("set character_set_results=utf-8");
mysql_query ("set collation_connection=utf8_general_ci");
* Ну по принципу Работает? Не трогай!
Не буду долго расписывать. Да, это помогло, но появились другие проблемы. Пришлось отказаться от данного метода.
3) Наверное час я провозился с настройками phpMyAdmin и импортом/экспортом баз. Все впустую. Разве что заметил, что ТОЛЬКО в этой таблице русские буквы отображаются верно. В других Юникодовых таблицах были крякозяблы.
В качестве последнего варианта, решил добавить данные в обход phpMyAdmin. Быстро написал что-то типа этого:
<?php
$q="INSERT INTO `table` (`a`,`b`) VALUES (1,2)";
mysql_query($q);
?>
Вставил код в первый попавшийся скрипт. (Тут немного вру, поискал скрипт с mysql_connect();)
И вот чудо! Вот они нормальные русские буквы! Этот уеб@нский phpMyAdmin каким-то образом вставлял их как cp1251, несмотря на все указания и выставленные кодировки. Осталось только удалить старые записи. Можно отдыхать...
Эту новость еще никто не закомментировал