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

html_entity_decode и ёлочки

  • md5

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

    Spritz 27 февраля 2008 г. 0:23

    получаю текст со всякими html-сущностями ("….), в том числе и ёлки (« и »)
    все переводится нормально, но ёлки переводятся в знаки вопроса и при вставке в запрос — в базу попадает текст только до этого символа и режется.

    сталкивались? что нужно сделать в таком случае? или может вместо html_entity_decode что-то другое использовать?
    все умрут, а я изумруд
  • vasa_c

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

    Spritz 27 февраля 2008 г. 8:23, спустя 8 часов 1 секунду

    Поясни кодом )
  • md5

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

    Spritz 27 февраля 2008 г. 9:07, спустя 44 минуты 51 секунду

    исходный текст:
    "здрасте", йа «текст»! превед!!!


    после html_entity_decode получается:
    "здрасте", йа ?текст?! превед!!!

    т.е. не декодируются ёлки

    а при вставке в базу — получаем:
    "здрасте", йа



    может че с кодировками, хотя текст получаю в utf8
    все умрут, а я изумруд
  • vasa_c

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

    Spritz 27 февраля 2008 г. 11:09, спустя 2 часа 1 минуту 6 секунд

    А зачем ты их декодируешь перед вставкой?
  • md5

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

    Spritz 27 февраля 2008 г. 11:15, спустя 6 минут 57 секунд

    а зачем мне в базе html сущности?
    все умрут, а я изумруд
  • vasa_c

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

    Spritz 27 февраля 2008 г. 11:27, спустя 11 минут 30 секунд

    А почему им там не быть?
  • AlexB

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

    Spritz 27 февраля 2008 г. 11:36, спустя 9 минут 7 секунд


    а зачем мне в базе html сущности?
    Для того, чтоб каждый раз не делать преобразования при отрисовки страницы.
  • md5

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

    Spritz 27 февраля 2008 г. 12:08, спустя 31 минуту 43 секунды

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

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

    Spritz 27 февраля 2008 г. 12:24, спустя 16 минут 38 секунд

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

    Хм. Так первозданный вид, это как раз с « который ты начал преобразовывать. Если есть что-то еще первозданнее, то его и сохраняй.
  • mechanic

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

    Spritz 27 февраля 2008 г. 12:36, спустя 11 минут 53 секунды

    я хотел было ответить, что правильнее было бы действительно сохранять в "правильном" html-виде, но потом подумал про поиск, сущности ведь будут мешаться
    но решение простое - можно приводить строку запроса к правильному html-виду
  • vasa_c

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

    Spritz 27 февраля 2008 г. 12:45, спустя 8 минут 10 секунд

    но потом подумал про поиск, сущности ведь будут мешаться

    При нормальном поиске их нужно все вычищать (как html-сущности, так и соответствующие символы) + вычищать знаки препинания, предлоги, всё приводить к нормальному виду и хранить отдельно.
  • md5

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

    Spritz 27 февраля 2008 г. 13:20, спустя 35 минут 41 секунду

    неужели двойные кавычки хранятся в базе как " ???
    все умрут, а я изумруд
  • md5

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

    Spritz 27 февраля 2008 г. 13:21, спустя 36 секунд

    нахер тогда вобще mysql_real_escape_string если уж вы говорите хранить все в таком виде
    все умрут, а я изумруд
  • AlexB

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

    Spritz 27 февраля 2008 г. 13:37, спустя 16 минут 9 секунд


    нахер тогда вобще mysql_real_escape_string
    Для того, чтоб запрос сломаный не получить.
  • md5

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

    Spritz 27 февраля 2008 г. 13:48, спустя 10 минут 46 секунд

    ну,
    так а если вы тут говорите мне хранить все в сущностях! т.е. и кавычки надо жахать в " (т.е. htmlspecialchars перед вставкой) то нах нужен эскейп если кавычки будут в сущностях?
    все умрут, а я изумруд

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