Местами старнные символы в тексте после перекодировки базы в UTF-8

Soul

Новичок
а ты чаю зеленого выпей ...

если у меня в базе символы типа <p> а в форму нужно вставить нормальный текст - чем не подходит html_entity_decode

и при выводе в та же ситуация в базе символы типа <p> а вывести нужно текст по разметке
 

zerkms

TDD infected
Команда форума
Soul
могу посоветовать только одно: выдохни, изучи внимательно проблему и заново подробно и аккуратно изложи, на каком этапе и что у тебя бьётся.
 

Фанат

oncle terrible
Команда форума
у него не получится
я думаю, это патовая ситуация.
уже ясно в чем дело - в использовании функций не по назначению.
и сколько их там таких - я даже боюсь представить.

тут надо ,во-первых, учить с нуля HTML, SQL и PHP, а, во-вторых, понимать выученное. С этим, мне кажется, основная проблема. no offence
 

Soul

Новичок
Автор оригинала: zerkms
Soul
могу посоветовать только одно: выдохни, изучи внимательно проблему и заново подробно и аккуратно изложи, на каком этапе и что у тебя бьётся.
проблема возникла после перекодировки базы
сейчас база в UTF-8

в базе все теги хранятся в виде <p>
при выводе использую функцию html_entity_decode без никаких параметров

и тут появляются какие то странные символы пример тут-> http://cocos.com.ua/123.png
хотя в базе их нет

для редактирования текста пользуюсь редактором и соответственный текст вытягиваю тем же способом и появляются те же символы

и когда делаю Update то доходя до такого символа текст обрезается
что с этим делать... ненаю...

-~{}~ 28.05.09 16:47:

в кириллице такого небыло
 

zerkms

TDD infected
Команда форума
Soul
покажи сюда результаты выборки в чистом виде и после использования html_entity_decode
 

Фанат

oncle terrible
Команда форума
Soul
у тебя две проблемы
1. ты не неправильно понимаешь, что тебе надо сделать с данными в тот или иной момент времени.
2. для этого неправильного действия ты выбираешь неподходящую функцию.
пример:
если тебе не нужны в тексте теги <p>, то их туда и вставлять не надо. и заменять тогда ничего перед выводом в форму не понадобится.
функция html_entity_decode с тегом <p> не сделает ничего.

для помещения данных в запрос их надо обработать только функцией mysql_real_escape_string()

при выводе этих данных, если это не HTML код, надо заменить переводы строк на теги. при выводе. к примеру, функцией nl2br()

если это пользовательские данные, в которых не позволены теги, то перед этим их надо обработать функцией htmlspecialchars(). Перед выводом, но до nl2br()

при выводе в форму на редактирование, данные надо обработать функцией htmlspecialchars(). и больше никакой.

-~{}~ 28.05.09 16:52:

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

Soul
если у тебя уже в базе теги <p>, то ничего с ними делать не надо. так и редактировать в форме с ними.
 

Soul

Новичок
мне нужно видеть в редакторе не
слова <br> слово (так записано в базе) а

слова
слово

поэтому и пользуюсь html_entity_decode
а получаю
слова
&#65533;слово
 

zerkms

TDD infected
Команда форума
Soul
1. var_dump(html_entity_decode('слова <br> слово'));
у меня выдаёт нормально всё, без левых символов

2. теги вырезаются strip_tags

3. если тебе <br> не нужен - зачем ты его в базу поместил? почему бы не оставлять там обычные переводы строки \r\n
 

Soul

Новичок
когда была кириллица тоже все нормально было, а сейчас просто непонятка какая то.

зачем в базе так это отдельная история
сейчас там порядка 4 тысяч позиция и с ними нужно как то работать

если кроме сарказма есть дельные советы с радостью выслушаю
 

zerkms

TDD infected
Команда форума
сарказма и не было.
1. теги вырезаются через strip_tags.
2. у меня на твоих данных в утф html_entity_decode не показывает никаких глюков -> проблемы где-то в твоём коде.
 

Фанат

oncle terrible
Команда форума
сарказма здесь никакого нет.
просьба следить за словами.
 

Soul

Новичок
мне ненужно теги вырезать
я же говорю что пользуюсь для редактирования редактором
и мне не мне нужно видеть &lt;p&gt;
и я согласен проблема в моем коде, я не пойму откуда берется &#65533;
 

zerkms

TDD infected
Команда форума
и я согласен проблема в моем коде
чего ты от нас хочешь, если ты не показываешь ничего, а только упоминаешь 100 раз в топике функцию, которая не при чём?

я не пойму откуда берется
phpfaq.ru/debug
отлаживай, итеративно выводи результаты

я же говорю что пользуюсь для редактирования редактором
и мне не мне нужно видеть &lt;p&gt;
если это проблема редактора, то может нужно нормальный редактор? или исправить ошибку в редакторе?
 

Soul

Новичок
phpfaq.ru/debug пользуюсь
и на восполнение запроса посылаю текст уже с &#65533;
в редакторе проблемы нет так как до этого проблем не было, и он отлично работает с UTF-8

вопрос в том какой функцией можно перевести &lt;p&gt; что бы не получить &#65533;

-~{}~ 28.05.09 17:49:

к примеру в базу хранится Книга &laquo;AJAX
использую html_entity_decode и получаю Книга &#65533;AJAX

-~{}~ 28.05.09 17:50:

примечание форум перевел в базе хронится Книга & l a q u o ; AJAX
 

zerkms

TDD infected
Команда форума
кстати и вправду, из & laquo; в utf получается &#65533;
 

Soul

Новичок
я=а я про что уже вторую страницу на форуме катаю
спасибо что проверил, теперь я хоть знаю что это не только у меня глюк

-~{}~ 28.05.09 17:59:

только вот что теперь с этим делать
 

zerkms

TDD infected
Команда форума
если бы это было начало проекта - я бы посоветовал ничего не преобразовывать до внесения в базу. сейчас - нужно только ждать подобных тебе извращенцев или просто в базе пройтись и заменить & laquo; на лесенки.
 

Фанат

oncle terrible
Команда форума
то есть, мало того, что у него теги в базе, так еще и в виде сущностей.
а теперь нам предлагается это все на лету исправлять.

zerkms
а если кодировку указать?
 
Сверху