Я получаю данные из базы данных в кодировке utf8. Но почему-то некоторые старые данные содержат символы latin1.
Так это
$encod = mb_detect_encoding($string, 'UTF-8', true);
всегда правильно.
Безопасно ли всегда использовать utf8_decode() для проверки символов latin1, таких как «äöüß»???
$string = utf8_decode($string);
$search = Array(" ", "ä", "ö", "ü", "ß", "."); //,"/Ä/","/Ö/","/Ü/");
$replace = Array("-", "ae", "oe", "ue", "ss", "-"); //,"Ae","Oe","Ue");
$string = str_replace($search, $replace, strtolower($string));
С уважением
mb_detect_encoding($string, 'ISO-8859-1,UTF-8', true);
? - person ajreal   schedule 24.08.2011code
mb_detect_encoding($this-›_name, 'ISO-8859-1,UTF-8', true);code
говорит 'ISO -8859-1', а utf8_decode($string) дает 'äääää', что мне делать? - person spankmaster79   schedule 24.08.2011code
mb_convert_encoding($this-›_name, 'ISO-8859-1');code
работает для всех символов, принимающих ß, поэтому я попробую iconv сейчас - person spankmaster79   schedule 25.08.2011mb_detect_encoding($string,'auto',true)
работал на меня. Но основная проблема в конвертации былаstrtolower($string)
так как не спасает конвертировать спецсимволы в меньшие с помощью этой функции - person spankmaster79   schedule 26.08.2011