Кодировка

Тема в разделе "WebAsyst", создана пользователем wwwww, 7 мар 2011.

Модераторы: mdss
  1. wwwww

    wwwww Постоялец

    Регистр.:
    11 авг 2007
    Сообщения:
    55
    Симпатии:
    4
    В WebAsyst используется кодировка UTF-8 и она задана в том числе в .htaccess. Надо что бы в папке с этим .htaccess разместить страницы в кодировке windows-1251 (страницы обмена ссылками, надо для раскрутки сайта). Могу ли я из .htaccess удалить строчку "AddDefaultCharset UTF-8", и не будет ли от этого проблем с магазином ?
    Задание кодировки windows-1251 в самих страницах с помощью метатега, когда в .htaccess задана UTF-8 нормально работатет только в иексплорере.
     
  2. Cklerick

    Cklerick Постоялец

    Регистр.:
    28 июл 2010
    Сообщения:
    100
    Симпатии:
    11
    Можете, но нужно ли оно вам? По моему проще поменять кодировку страницы обмена ссылками. Хотя в настройках в installer можете просто поменять кодировку языков в меню локализация на необходимый вам windows-1251. Попробуйте,должно все получиться.
     
  3. wwwww

    wwwww Постоялец

    Регистр.:
    11 авг 2007
    Сообщения:
    55
    Симпатии:
    4
    Вопрос не о смене кодировки скрипта, а о совместном использовании страниц с разными кодировками. Не нарушится ли работа магазина, при отключении принудительной установки кодировки в .htacces ?
    P.S.
    Cklerick
    Страница обмена ссылок создается одним из сторонних сервисом (конкретно вот этим restland.net). SEO раскрутка сайта с магазином мне уже проплачена.
     
  4. Mizantrop

    Mizantrop Постоялец

    Регистр.:
    26 июл 2007
    Сообщения:
    122
    Симпатии:
    42
    С магазином точно ничего не случится, а вот как это будут хавать различные браузеры - никому не известно.
    Рекомендую сделать страничку-парсер и на ней выводить каталог твоих "раскрутчиков" с перекодировкой "налету".
    Или же, если каталог "раскрутчиков" на PHP - то можно перекодировать в момент подгрузки инфы от них.
    Перекодировать можно через iconv или так:
    PHP:
    function cp1251_to_utf8 ($txt)  {
        
    $in_arr = array (
            
    chr(208), chr(192), chr(193), chr(194),
            
    chr(195), chr(196), chr(197), chr(168),
            
    chr(198), chr(199), chr(200), chr(201),
            
    chr(202), chr(203), chr(204), chr(205),
            
    chr(206), chr(207), chr(209), chr(210),
            
    chr(211), chr(212), chr(213), chr(214),
            
    chr(215), chr(216), chr(217), chr(218),
            
    chr(219), chr(220), chr(221), chr(222),
            
    chr(223), chr(224), chr(225), chr(226),
            
    chr(227), chr(228), chr(229), chr(184),
            
    chr(230), chr(231), chr(232), chr(233),
            
    chr(234), chr(235), chr(236), chr(237),
            
    chr(238), chr(239), chr(240), chr(241),
            
    chr(242), chr(243), chr(244), chr(245),
            
    chr(246), chr(247), chr(248), chr(249),
            
    chr(250), chr(251), chr(252), chr(253),
            
    chr(254), chr(255)
        );   
        
    $out_arr = array (
            
    chr(208).chr(160), chr(208).chr(144), chr(208).chr(145),
            
    chr(208).chr(146), chr(208).chr(147), chr(208).chr(148),
            
    chr(208).chr(149), chr(208).chr(129), chr(208).chr(150),
            
    chr(208).chr(151), chr(208).chr(152), chr(208).chr(153),
            
    chr(208).chr(154), chr(208).chr(155), chr(208).chr(156),
            
    chr(208).chr(157), chr(208).chr(158), chr(208).chr(159),
            
    chr(208).chr(161), chr(208).chr(162), chr(208).chr(163),
            
    chr(208).chr(164), chr(208).chr(165), chr(208).chr(166),
            
    chr(208).chr(167), chr(208).chr(168), chr(208).chr(169),
            
    chr(208).chr(170), chr(208).chr(171), chr(208).chr(172),
            
    chr(208).chr(173), chr(208).chr(174), chr(208).chr(175),
            
    chr(208).chr(176), chr(208).chr(177), chr(208).chr(178),
            
    chr(208).chr(179), chr(208).chr(180), chr(208).chr(181),
            
    chr(209).chr(145), chr(208).chr(182), chr(208).chr(183),
            
    chr(208).chr(184), chr(208).chr(185), chr(208).chr(186),
            
    chr(208).chr(187), chr(208).chr(188), chr(208).chr(189),
            
    chr(208).chr(190), chr(208).chr(191), chr(209).chr(128),
            
    chr(209).chr(129), chr(209).chr(130), chr(209).chr(131),
            
    chr(209).chr(132), chr(209).chr(133), chr(209).chr(134),
            
    chr(209).chr(135), chr(209).chr(136), chr(209).chr(137),
            
    chr(209).chr(138), chr(209).chr(139), chr(209).chr(140),
            
    chr(209).chr(141), chr(209).chr(142), chr(209).chr(143)
        );   
        
    $txt str_replace($in_arr,$out_arr,$txt);
        return 
    $txt;
    }
     
  5. wwwww

    wwwww Постоялец

    Регистр.:
    11 авг 2007
    Сообщения:
    55
    Симпатии:
    4
    Сделал так, в самом начале страницы, которая в кодировке windows-1251, ставлю:
    PHP:
    <?php
    header
    ('Content-Type: text/html;charset=windows-1251');
    ?>
    и в отдаваемый браузеру код ставлю мета тег:
    HTML:
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
    Вроде во всех браузерах нормально работает.