Проблема с отображением буквы ш

Я вот думаю все что только можно перегнать в cp1251, ибо у меня все равно пол скрипта в этой кодировке.
На хостинге такие настройки:
Код:
character_set_client    cp1251
character_set_connection    cp1251
character_set_database    cp1251
character_set_filesystem    binary
character_set_results    cp1251
character_set_server    cp1251
character_set_system    utf8
character_sets_dir    /usr/share/mysql/charsets/

Подскажите как перекодировать существующую БД в windows-1251.
Пытался выполнить запрос:
Код:
ALTER DATABASE database1 DEFAULT CHARACTER SET cp1251 COLLATE cp1251_general_ci
Пишет что запрос успешно выполнен, но кодировка таблиц остается -
utf8_general_ci
:eek:
 
Я вот думаю все что только можно перегнать в cp1251, ибо у меня все равно пол скрипта в этой кодировке.
На хостинге такие настройки:
Код:
character_set_client    cp1251
character_set_connection    cp1251
character_set_database    cp1251
character_set_filesystem    binary
character_set_results    cp1251
character_set_server    cp1251
character_set_system    utf8
character_sets_dir    /usr/share/mysql/charsets/

Подскажите как перекодировать существующую БД в windows-1251.
Пытался выполнить запрос:
Код:
ALTER DATABASE database1 DEFAULT CHARACTER SET cp1251 COLLATE cp1251_general_ci
Пишет что запрос успешно выполнен, но кодировка таблиц остается -
utf8_general_ci
:eek:
я выгружал поностью базу и через n++ заменял все cp1251 на ютф8, заливаешь обратно и будет тебе счастье)
 
сегодня попробую, кстати при просмотре таблиц базы в которых содержатся заголовки и содержание страниц все отображается "иероглифами", в браузере кодировка UTF-8 в таблице
utf8_general_ci, не понимаю откуда беруться тогда иероглифы :eek: Получается скрипт записывает данные в БД в кодировке cp1251 .. ничего не понимаю..

Скачал БД, перегнал кодировки в N++ на ANSI, сделал импорт через phpmyadmin, кодировка осталась
utf8_general_ci
Содержание таблик в скачанном файле было такого плана:
Код:
(7, 'search-results', '', 'Результаты поиска', '', '', '{MAINMENU}{DC_MODULES}', '1', '0', 'admin', 0, '2012-03-16 20:19:29'),
Если делать дамп через Sypex Dumper такиеже иероглифы во всех русских названиях

Подскажите как вообще определить в какой кодировке скрипт записывает в базу инфу ?

Замечался воевать с кодировкой уже.

Оказывается проблема не только с буквой Ш, скрипт ужасно работает с выводом инфы в кирилице с БД, письма с содержимым БД приходят на почту в иероглифах...:mad:
 
Проблема с выводом букв "Ш" "И" стара как мир.
Класс подключения к базе. После : mysql_connect
Код:
//Если кодировка по умолчанию русская, то убиваем баг с и, ш
            mysql_query("SET NAMES 'utf8'");
            mysql_query ("set character_set_client='utf8'");
            mysql_query ("set character_set_results='utf8'");
            mysql_query ("set collation_connection='utf8_general_ci'");
Прочёл весь топик и так и не понял, какой именно скрипт.
Сами писали и сами настроить не можете?
 
Классов не нашел.
Проблема превратилась в общий глюк кодировки.. Вынес в отдельную тема в Базы данных.

Для просмотра ссылки Войди или Зарегистрируйся

Для просмотра ссылки Войди или Зарегистрируйся
set character_set_results='utf8'
set collation_connection='utf8_general_ci'
??
 
SET NAMES и SET CHARACTER SET не одно и то же
А бывает, что и отдачу надо принудительно указывать.
Всё от вашего скрипта зависит. Как написан класс соединения
 
Вот вся функция БД:
Код:
    function Database( $cfg )
    {
        global $root_path;
        if(is_object($cfg)){
            $port = empty($cfg->dbport) ? '' : ':'. (int) $cfg->dbport;
 
            if(!($this->_resource = @mysql_connect ($cfg->dbhost.$port, $cfg->dbuser, $cfg->dbpasswd))){
                echo '<html><body><br><br>
                    <span style="font-family: Arial, Helvetica, sans-serif; font-size: 1.5em">
                    Sorry... Our Site seems to be down temporarily.</span></body></html>';
                exit;
                //echo 'Error - ', mysql_error(), ' Host: ', $cfg->dbhost;
                //return false;
            }else if(!(@mysql_select_db($cfg->dbname))){
                echo 'Error - ', mysql_error(), ' Database: ', $cfg->dbname;
                mysql_close($this->_resource);
                return false;
            }else{
                $this->_table_prefix = $cfg->table_prefix;
                $this->_db = $this->_resource;
            }
        }
    }
Если не трудно помогите подставить mysql_query("SET NAMES 'utf8'"); и т.д.

Для просмотра ссылки Войди или Зарегистрируйся, Я просто прочитал документация на мускулу тут:
Для просмотра ссылки Войди или Зарегистрируйся
Цитата оттуда:
SET NAMES utf8;
Это эквивалентно трем следующим командам:
SET character_set_client=utf8 SET character_set_connection=utf8
SET character_set_results=utf8
Сам не особо разбираюсь.
 
Во первых не ясна суть перехода на 1251! UTF-8 лучше! мне так кажеться!
Я переводил в utf-8 с помощтю данной статьи!

Скрытое содержимое доступно для зарегистрированных пользователей!
 
я это понял,
Если можно в приведенном коде укажите куда именно пихать
 
дак сразу на следующей строке!
 
Назад
Сверху