Чудо символ! Что это и как его убить?

Тема в разделе "PHP", создана пользователем guru85, 18 май 2011.

Модераторы: latteo
  1. guru85

    guru85 Постоялец

    Регистр.:
    24 мар 2010
    Сообщения:
    134
    Симпатии:
    3
    В текстовом файле txt есть символ § , при получениее сие чуда в скрипт, и выводе в браузер, он приобретает вот такое облик � , а там дальше в базу даных он заносится и когда от туда вызывается, вот тогда все грохается к чертовой матери. убираю его из текста, все ништяк. это не помагает
    PHP:
    $maspostfooters2=str_replace("§"," ",$maspostfooters3);
    и это тоже
    PHP:
    $maspostfooters2=str_replace("�"," ",$maspostfooters3);
    есль мысля, что чтото с кодировкой.
     
  2. mr-graffity

    mr-graffity

    Регистр.:
    29 июл 2010
    Сообщения:
    163
    Симпатии:
    38
    Ты редактируешь файл в разных кодировках вот и вылазиет этот символ....
    следи за кодировкой в которой создан файл.
     
  3. invader

    invader Серый кардинал в отставке :)

    Moderator
    • Супермодератор
    Регистр.:
    3 апр 2006
    Сообщения:
    2.718
    Симпатии:
    5.691
    Это параграф. Можно заменить на спецсимвол:
    PHP:
    §
     
    bork75 нравится это.
  4. KillDead

    KillDead

    Регистр.:
    11 авг 2006
    Сообщения:
    883
    Симпатии:
    540
    ага. с кодировкой. Если файл приобретает такой вид- значит ты не всё удалил- какой то код остался от символа. Поробуй почистить все такие символы-
    PHP:
    echo preg_replace('~[\xA0-\xFF]~u''~'$e);
     
    bork75 нравится это.
  5. bork75

    bork75 Д☼брая собака )

    Регистр.:
    21 июн 2008
    Сообщения:
    1.449
    Симпатии:
    716
    Что бы не создавать тему, спрошу тоже здесь.

    У меня была похожая ситуация, но там смысл скрипта был в обрезке текста для новостного модуля.

    Получалось примерно такое:

    Текст текст текс�... т.е. последний символ перед точками шёл квадратом, причём не всегда и для разных символов.

    Я тоже пытался от него избавиться через замену, два часа крутил этот скрипт и плюнул. Не подумал тогда о спец символах.
    Но у ТС понятно - есть конкретный символ, а у меня то что было?
     
  6. Belial

    Belial

    Регистр.:
    1 фев 2010
    Сообщения:
    236
    Симпатии:
    113
    А у тебя наверное текст был в кодировке utf и обрезался побайтово. А в utf не латинские символы занимают два байта, а не один. Вот и получалось так, что время от времени у последнего символа резался один байт и вместо него выводилось непонятно что.