Проблемы с перекодированием/заменой испанских букв

Lotik

Новичок
Проблемы с перекодированием/заменой испанских букв

Здраствуйте

Возникла проблема, которую не могу решить уже который час.

В линке передаеться название статьи с возможными испанскими символами (например www.site.com/article/dósúa/), необходимо конвертировать ú, ó в u, o. Перепробовал несколько разных вариантов, каждый из которых работает у меня локально, но отказываеться работать на другом сервере. В мете используеться charset=UTF-8.

Варианты на примере символа "ú":

Вариант 1:
PHP:
   $value = str_replace("ú", "u", $value);
Вариант 2:
PHP:
   $value = preg_replace("/&#250/","u",$value);
Вариант 3:
раз уж не удалось конвертировать символы в человеческий вид после взятия их с базы, решил правильно вносить все в нее
PHP:
 for ($i = 0; $i < strlen($value); $i++) {
					 echo '&#'.ord(substr($value,$i,2));
       }
У меня 1-2 варианты меняют необходимые символы, 3 выводит вместо плохих символов нужный код. Ничего из этого не работает на нужном сервере:(

В чем может быть проблема, настройке Apache/PHP?
 

SiMM

Новичок
> В линке передаеться
> &amp;#250;
Строка, которая приходит вам от пользователя, имеет кодировку UTF-8. А не является Numeric character references. Соответственно и аргумент функции должен быть строкой в UTF-8, а не то, что вы написали.
Что такое UTF-8 можно узнать здесь
 

Lotik

Новичок
Здраствуйте снова..

Перерыл кучу хелпов/скриптов, но так и не нашел нормального решения проблемы, конвертирования при вводе пользователем кривых испанских символов (5 штук: &#241; &#250; &#243; &#225; &#233;) в &#241 и т.д., и дальнейшее перекодирование назад для их показа.

Если кто может помочь с этой конкретной проблемой, буду очень благодарен.
 
Сверху