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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Помогите пожалуйста убрать кракозябры из нормального текста

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Описание: Среди нормального текста хранятся кракозябры. Разыскивается решение, что бы их убрать.
pavel-php5
Отправлено: 16 Июня, 2011 - 02:52:45
Post Id


Новичок


Покинул форум
Сообщений всего: 14
Дата рег-ции: Нояб. 2010  


Помог: 0 раз(а)




Здравствуйте!
Подскажите пожалуйста, как убрать из текстовой переменной все кракозябры? Скрипт в 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>"

Заранее, большое спасибо!
 
 Top
Toxa
Отправлено: 16 Июня, 2011 - 08:25:09
Post Id



Посетитель


Покинул форум
Сообщений всего: 352
Дата рег-ции: Окт. 2008  


Помог: 8 раз(а)

[+]


до вывода какой-либо информации в браузер вставте строку
PHP:
скопировать код в буфер обмена
  1. header('Content-type: text/html; charset=utf-8');


-----
Удобный сервис для хранения файлов
 
 Top
pavel-php5
Отправлено: 16 Июня, 2011 - 08:59:59
Post Id


Новичок


Покинул форум
Сообщений всего: 14
Дата рег-ции: Нояб. 2010  


Помог: 0 раз(а)




Toxa пишет:
до вывода какой-либо информации в браузер вставте строку
PHP:
скопировать код в буфер обмена
  1. header('Content-type: text/html; charset=utf-8');

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


Все еще рассчитываю на ответ. Заранее, большое спасибо всем!
 
 Top
EuGen Администратор
Отправлено: 16 Июня, 2011 - 09:10:22
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




PHP:
скопировать код в буфер обмена
  1. $text=preg_replace('/[^A-Za-z\<\\>\'\"\s]/ms', '', $text);
  2. echo($text);


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Slavenin
Отправлено: 16 Июня, 2011 - 09:49:41
Post Id



Посетитель


Покинул форум
Сообщений всего: 285
Дата рег-ции: Май 2010  
Откуда: Тверь


Помог: 4 раз(а)




pavel-php5, откуда берется строка с кракозябрами, из файла или из базы?
кракозябры в любом случае возникают из-за неправильной кодировки, поэтому необходимо слать браузеру правильную кодировку текста и при выборке из базы тоже следить за кодировкой текстовых полей. также необъодимо проверить соответствие кодировки файла и кодировки вэб страницы.
 
 Top
pavel-php5
Отправлено: 17 Июня, 2011 - 00:28:57
Post Id


Новичок


Покинул форум
Сообщений всего: 14
Дата рег-ции: Нояб. 2010  


Помог: 0 раз(а)




EuGen пишет:
PHP:
скопировать код в буфер обмена
  1. $text=preg_replace('/[^A-Za-z\<\\>\'\"\s]/ms', '', $text);
  2. echo($text);

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

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


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



Частый гость


Покинул форум
Сообщений всего: 180
Дата рег-ции: Янв. 2011  
Откуда: Россия


Помог: 2 раз(а)




сорри не смог удержаться
Цитата:
в текстовой строке могут быть всякие спец.символы, HTML-сущности и т.д.

в голове ток 1 мысль проскочила Сущность в виде ГНОМИКА Радость
 
 Top
pavel-php5
Отправлено: 17 Июня, 2011 - 02:49:26
Post Id


Новичок


Покинул форум
Сообщений всего: 14
Дата рег-ции: Нояб. 2010  


Помог: 0 раз(а)




DiosPA пишет:
сорри не смог удержаться
Цитата:
в текстовой строке могут быть всякие спец.символы, HTML-сущности и т.д.

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


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



Частый гость


Покинул форум
Сообщений всего: 180
Дата рег-ции: Янв. 2011  
Откуда: Россия


Помог: 2 раз(а)




Улыбка

pavel-php5
А может рациональнее текст пропарсить 1 раз и сохранить в нормальной кодировке?
 
 Top
pavel-php5
Отправлено: 17 Июня, 2011 - 11:38:17
Post Id


Новичок


Покинул форум
Сообщений всего: 14
Дата рег-ции: Нояб. 2010  


Помог: 0 раз(а)




DiosPA пишет:
Улыбка

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


Так я вроде так и сделал. Все в utf8 - скачивал и сохранял. Или Вы что-то другое имеете в виду?
 
 Top
DiosPA
Отправлено: 17 Июня, 2011 - 13:32:27
Post Id



Частый гость


Покинул форум
Сообщений всего: 180
Дата рег-ции: Янв. 2011  
Откуда: Россия


Помог: 2 раз(а)




Да я имею в виду ты сохранил и всё, далее как я думаю utf-8 не потребуется, и можно с помощью программы файлы перекодировать и всё)
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Кодировки и все смежное »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB