- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
VK приобрела 70% в структуре компании-разработчика red_mad_robot
Которая участвовала в создании RuStore
Оксана Мамчуева
Зачем быть уникальным в мире, где все можно скопировать
Почему так важна уникальность текста и как она влияет на SEO
Ingate Organic
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
вот такая фигня выходит на сайте. при добавлении материала я его прогоняю через функцию
$bla=htmlspecialchars($bla, ENT_QUOTES);
все норм работает но с некоторыми языками ерунда получается
например текст
se hace de noche al fin
выводит так
se hace de noche al fin
Дело точно не в htmlspecialchars. Она преобразует всего 5 символов
Производятся следующие преобразования:
'&' (амперсанд) преобразуется в '&'
'"' (двойная кавычка) преобразуется в '"' when ENT_NOQUOTES is not set.
''' (одиночная кавычка) преобразуется в ''' только в режиме ENT_QUOTES.
'<' (знак "меньше чем") преобразуется в '<'
'>' (знак "больше чем") преобразуется в '>'
Я не очень понял что там за символ, но вам советую убедиться что ваша строка хранится в кодировке, поддерживаемой этой функцией.
Можете еще воспользоваться функцией get_html_translation_table а потом подсунуть её например функции strtr - чтобы убедиться что дело точно не в htmlspecialchars
дело в htmlspecialchars. текст на испанском языке заменяется.
ну напишите свой htmlspecialchars делов то
ну напишите свой htmlspecialchars делов то
то же самое)
Ну тогда значит ваш сервер не работает с кодировкой, в которой находится строка, либо вы её выводите в кодировке, отличной от кодировки всей страницы. Если у вас там очень много всяких языков, юзайте 16битные кодировки, если только испанский, установите локаль соответствующую с кодировкой UTF-8
Ну тогда значит ваш сервер не работает с кодировкой, в которой находится строка, либо вы её выводите в кодировке, отличной от кодировки всей страницы. Если у вас там очень много всяких языков, юзайте 16битные кодировки, если только испанский, установите локаль соответствующую с кодировкой UTF-8
а если поподробнее про 16битные?
chemax добавил 25.05.2009 в 17:26
без htmlspecialchars незнаю просто как защитить более форму от html кодов
выводит так
вы случаем не обрабатываете текст дважды?
что в коде страницы?
посмотреть вживую можно?
дальше идут запросы.
http://all-lyrics.ru/add.php - вот эта страница глючит
http://all-lyrics.ru/text66390.html - вот текст сглюченный.
http://www.lyricstime.com/petra-berger-eres-todo-para-m-lyrics.html вот нормальный текст
ну как я понимаю там еще до функции htmlspecialchars такой текст приходит. попробуйте перед htmlspecialchars сделать над текстом preg_replace("'&#(\d+);'e", "chr(\\1)", $text);
Просто у вас проблема именно в кодировке, а не в функции хтмлспешиалчарс!
Судя по всему, в базе данные хранятся в одной кодировке, а на сайт выдаются в другой.
Недавно была схожая проблема у одного клиента. Буквы ш, е и т.п. показывались неправильно, а при прогоне через хтмлспешиалчарс эти неправильные символы тоже сущностями заменялись!
Сайт был в UTF, к базе подключение задавалось в cp1251 (! при этом почти всё нормально на сайте отображалось, ну не считая нескольких букв, которые были нечитаемы) ).
Т.е. выход такой: все данные конвертите в UTF, особенно в базе. И типы полей у таблиц тоже пропишите как UTF, если вдруг где-то проскакивает cp1251 или какая нидь испанская кодировка.
Моё имхо. А там уж точно не знаю, что ещё у вас может быть.