ФорумПрограммированиеPHP для идиотов → Подскажите в чём причина

Подскажите в чём причина

  • Grohot

    Сообщения: ? Репутация: N Группа: Кто попало

    Spritz 3 мая 2008 г. 4:47

    На сайте в тексте все буквы "ш" стали отображается так "�?" (черный ромб и вопрос). Почему так могло произойти? Кодировка UTF-8
  • ghost

    Сообщения: ? Репутация: N Группа: Джедаи

    Spritz 3 мая 2008 г. 5:07, спустя 19 минут 36 секунд

    ну ты эта.. дал бы ссылку хотяб.. мож у тя просто бразер глюканул
  • Grohot

    Сообщения: ? Репутация: N Группа: Кто попало

    Spritz 3 мая 2008 г. 5:20, спустя 13 минут 48 секунд


    ну ты эта.. дал бы ссылку хотяб.. мож у тя просто бразер глюканул

    _new.goodman.vl.ru вот ссылка
    Проверяли на 4-х компах :) - одно и тоже. Но было всё нормально. Может с базой что-то?
  • ghost

    Сообщения: ? Репутация: N Группа: Джедаи

    Spritz 3 мая 2008 г. 5:30, спустя 9 минут 35 секунд

    может быть. посмотри в муадмине, кстати.
    а что менялось походу?
  • Grohot

    Сообщения: ? Репутация: N Группа: Кто попало

    Spritz 3 мая 2008 г. 5:39, спустя 9 минут 13 секунд


    может быть. посмотри в муадмине, кстати.
    а что менялось походу?

    Да мы ничего не меняли вроде. К хостерам обратиться?
  • ghost

    Сообщения: ? Репутация: N Группа: Джедаи

    Spritz 3 мая 2008 г. 5:47, спустя 7 минут 17 секунд

    сначала базу глянь. если там всё ок - и действительно ничего не меняли - то к хостерам.
    а если все-таки пытались использовать какие-то строковые ф-ции, тогда вспоминай какие и где..
  • XoxMa

    Сообщения: ? Репутация: N Группа: Кто попало

    Spritz 3 мая 2008 г. 7:28, спустя 1 час 41 минуту 11 секунд

    Мне кажется, что в этом виноват твой комп. Попробуй создать html страницу не на твоём собственном компьютере, а где-нибудь в другом месте.
  • Grohot

    Сообщения: ? Репутация: N Группа: Кто попало

    Spritz 3 мая 2008 г. 7:56, спустя 28 минут 39 секунд

    Посмотрел базу там тоже самое. Исправил на "ш" всё нормально. Видимо хотеры что-то делали. Теперь придётся везде исправлять
  • ghost

    Сообщения: ? Репутация: N Группа: Джедаи

    Spritz 3 мая 2008 г. 8:36, спустя 39 минут 22 секунды

    скрипт напиши, исправляющий :)
  • Timur

    Сообщения: 1068 Репутация: N Группа: Джедаи

    Spritz 3 мая 2008 г. 11:58, спустя 3 часа 22 минуты 1 секунду

    почему-то везде "перебит" второй байт последовательности "10010001 10001000" - вместо него "00111111" (т.е. получается "10010001 00111111"), отсюда и крокозябры

    держи, Grohot, должно работать
    <?php
    function tix_func($str) {
    for ($i = 1; $i < strlen($str); ++$i) {
    $prev = ord($str{$i - 1});
    $curr = ord($str{$i});
    if (($prev == 0xD1) && ($curr == 0x3F)) {
    $str{$i} = chr(0x88); // исправляем  код
    }
    }
    return $str;
    }

    header('Content-Type: text/html; charset=utf-8');
    $str = file_get_contents('index.html');
    echo tix_func($str);
    ?>
  • ghost

    Сообщения: ? Репутация: N Группа: Джедаи

    Spritz 3 мая 2008 г. 12:16, спустя 18 минут 12 секунд

    зачем так сервер мучать?? лучше один раз в базе исправить..
  • Timur

    Сообщения: 1068 Репутация: N Группа: Джедаи

    Spritz 3 мая 2008 г. 15:08, спустя 2 часа 51 минуту 50 секунд

    ну понятно, я просто алгоритм привел )
    я ж не имел ввиду, что бы каждый раз перед выводом прогонять через эту функцию, даже в голову это не пришло )
  • Trej Gun

    Сообщения: 5299 Репутация: N Группа: в ухо

    Spritz 3 мая 2008 г. 15:10, спустя 2 минуты 2 секунды

    Ы

    сделать дамп БД пропустить через ту фцию и залить наместо
  • Grohot

    Сообщения: ? Репутация: N Группа: Кто попало

    Spritz 3 мая 2008 г. 21:06, спустя 5 часов 55 минут 43 секунды

    Спасибо, сейчас буду делать. А то там не только буква "ш", а еще и в китайской версии иероглифы в вопросах :)
  • kart

    Сообщения: ? Репутация: N Группа: Кто попало

    Spritz 5 мая 2008 г. 6:58, спустя 1 день 9 часов 52 минуты

    У меня такая же проблема была, когда я пытался обрабатывать текст в ютф-8 обычными строковыми функциями, может в данном случае такая же фигня?

Пожалуйста, авторизуйтесь, чтобы написать комментарий!