apache — php не понимает символ replace (CNY) для замены

У меня есть следующий код, который нормализует имя файла на сервере:

private static function normalize($name,$currency) {
$currencies = array('$', '元', '€');
preg_match("/([\S]+)(\.\w+(?=$))/", $name, $matches);
VarDumper::dump($matches); echo '<br>';
$name = strtolower($matches[1]);
$ext = strtolower($matches[2]);
$name = str_replace($currencies, '-' . $currency . '-', $name);
VarDumper::dump($name); echo '<br>';
$name = preg_replace("/[^a-zA-Z\-\d]+/", "-", $name);
$name = preg_replace("/\-+/", "-", $name);
$name = strtolower($name);
$name = trim($name, ' ,-');
$name = $name . $ext;

return $name;
}

Первый дамп покажет следующую строку:

1988-1-унц-Gold-китайско-Panda-100hEG-Bullion-Монета-.999-24K-оборот

И второй дамп показывает это:

1988-1-унц-золото-китайский-панда-100heg-слитках-монетный-.999-24k-оборот

На localhost все работает нормально и символ CNY отображается правильно, но на сервере dev строка выглядит так, как указано выше.

http-сервер: Apache 2.2, AddDefaultCharset utf-8 в httpd.conf включен.

Может кто-нибудь посоветовать возможное решение этой проблемы?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …