Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Помогите пожалуйста убрать кракозябры из нормального текста
Форумы портала PHP.SU » » Кодировки и все смежное » Помогите пожалуйста убрать кракозябры из нормального текста

Страниц (1): [1]
 

1. pavel-php5 - 16 Июня, 2011 - 02:52:45 - перейти к сообщению
Здравствуйте!
Подскажите пожалуйста, как убрать из текстовой переменной все кракозябры? Скрипт в UTF-8, текст тоже в UTF-8.
Например, есть текст:

"<p>Photo für Credit <b>headset</b> fР“С“Р’С˜r internet telefon</p>"

А нужно что бы осталось:

"<p>Photo Credit <b>headset</b> internet telefon</p>"

Заранее, большое спасибо!
2. Toxa - 16 Июня, 2011 - 08:25:09 - перейти к сообщению
до вывода какой-либо информации в браузер вставте строку
PHP:
скопировать код в буфер обмена
  1. header('Content-type: text/html; charset=utf-8');
3. pavel-php5 - 16 Июня, 2011 - 08:59:59 - перейти к сообщению
Toxa пишет:
до вывода какой-либо информации в браузер вставте строку
PHP:
скопировать код в буфер обмена
  1. header('Content-type: text/html; charset=utf-8');

Извините, но это Вы совсем не в тему написали. При чем здесь браузер? Разве речь шла о том, как это выглядит в браузере? А если бы вопрос даже состоял в этом, то решение, которое Вы предложили, решением не является: какую-кодировку ни поставь, кракозябры не исчезнут и пользователи их увидят. Мне нужно именно убрать такие символы.


Все еще рассчитываю на ответ. Заранее, большое спасибо всем!
4. EuGen - 16 Июня, 2011 - 09:10:22 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. $text=preg_replace('/[^A-Za-z\<\\>\'\"\s]/ms', '', $text);
  2. echo($text);
5. Slavenin - 16 Июня, 2011 - 09:49:41 - перейти к сообщению
pavel-php5, откуда берется строка с кракозябрами, из файла или из базы?
кракозябры в любом случае возникают из-за неправильной кодировки, поэтому необходимо слать браузеру правильную кодировку текста и при выборке из базы тоже следить за кодировкой текстовых полей. также необъодимо проверить соответствие кодировки файла и кодировки вэб страницы.
6. pavel-php5 - 17 Июня, 2011 - 00:28:57 - перейти к сообщению
EuGen пишет:
PHP:
скопировать код в буфер обмена
  1. $text=preg_replace('/[^A-Za-z\<\\>\'\"\s]/ms', '', $text);
  2. echo($text);

Спасибо! У меня была такая мысль, но я хотел-бы найти более быстрое и стабильное решение. Если ничего другого не найдется, то воспользуюсь Вашим регулярным выражением. Но тут есть такая проблема: в текстовой строке могут быть всякие спец.символы, HTML-сущности и т.д.

Slavenin пишет:
pavel-php5, откуда берется строка с кракозябрами, из файла или из базы?
кракозябры в любом случае возникают из-за неправильной кодировки, поэтому необходимо слать браузеру правильную кодировку текста и при выборке из базы тоже следить за кодировкой текстовых полей. также необъодимо проверить соответствие кодировки файла и кодировки вэб страницы.


Строка с кракозябрами берется с другого сайта. Другой сайт отдает странички в utf8, мой скрипт работает тоже в utf8. По идее, проблем быть не должно. Тот сайт действительно содержит какие-то спец.символы, которые преобразуются в кракозябры в моем скрипте.
7. DiosPA - 17 Июня, 2011 - 02:44:54 - перейти к сообщению
сорри не смог удержаться
Цитата:
в текстовой строке могут быть всякие спец.символы, HTML-сущности и т.д.

в голове ток 1 мысль проскочила Сущность в виде ГНОМИКА Радость
8. pavel-php5 - 17 Июня, 2011 - 02:49:26 - перейти к сообщению
DiosPA пишет:
сорри не смог удержаться
Цитата:
в текстовой строке могут быть всякие спец.символы, HTML-сущности и т.д.

в голове ток 1 мысль проскочила Сущность в виде ГНОМИКА Радость


Ну да, это действительно смешное название - сущности, но ведь так и называется. Улыбка
9. DiosPA - 17 Июня, 2011 - 03:02:28 - перейти к сообщению
Улыбка

pavel-php5
А может рациональнее текст пропарсить 1 раз и сохранить в нормальной кодировке?
10. pavel-php5 - 17 Июня, 2011 - 11:38:17 - перейти к сообщению
DiosPA пишет:
Улыбка

pavel-php5
А может рациональнее текст пропарсить 1 раз и сохранить в нормальной кодировке?


Так я вроде так и сделал. Все в utf8 - скачивал и сохранял. Или Вы что-то другое имеете в виду?
11. DiosPA - 17 Июня, 2011 - 13:32:27 - перейти к сообщению
Да я имею в виду ты сохранил и всё, далее как я думаю utf-8 не потребуется, и можно с помощью программы файлы перекодировать и всё)

 

Powered by ExBB FM 1.0 RC1