Неверная кодировка при сохранении файла

artnik7

Новичок
На сервер передается методом post имя файла, к примеру også.mp3. Но в результате, файл сохраняется как ogsГҐ.mp3. Я проверил, сервер получает название правильно, без искривления кодировки. Но именно при сохранении, в имени файла, почему-то символы перекодирываются.

Код такой:
PHP:
$mp3_file_local = ABSPATH.'/mp3/norsk/'.$_POST['word'].'.mp3';
$mp3_file_remote = file_get_contents($mp3_url);
$f = fopen($mp3_file_local, 'w');
fwrite($f, $mp3_file_remote);
fclose($f);
Подскажите, в чем может быть причина?
 

artnik7

Новичок
Передается в UTF-8. Знаю только что это из норвежской кодировки
 

AmdY

Пью пиво
Команда форума
artnik7
значит файловая система сервера не в utf, воспользуйтесь транслитерацией
 

artnik7

Новичок
Насчет файловой системы — скорее всего в ней и проблема. У меня на локалке сайт стоит (Windows7 и Denwer). Наверно придется названия писать цифрами, типа 12345.mp3
 

zerkms

TDD infected
Команда форума
Не проблема в win7 - она отлично юникодные имена сохраняет
 

Absinthe

жожо
Не проблема в win7 - она отлично юникодные имена сохраняет
Но не UTF-8. И, кстати, если честно, я решения не вижу, что подтверждается SO("It can't currently be done on Windows").

Как альтернативное решение - отключить данный функционал под виндой и писать латиницей. А на серверах делать нормально.
 

artnik7

Новичок
Спасибо за инфу. Решил не заморачиватся и сделал названия в таком виде "o_123123.mp3". Просто в базе пометил какое название для какого файла идет
 
Сверху