Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Имя файла в крякозябрах
Форумы портала PHP.SU » » Кодировки и все смежное » Имя файла в крякозябрах

Страниц (1): [1]
 

1. Pirat_BillY - 22 Января, 2013 - 19:37:43 - перейти к сообщению
Задача следующая - файлы на хостинге называются как попало, нужно спарсить и сохранить их по названию товара.
Кодировка веб странички - UTF-8
Кодировка php-файла - UTF-8
При выводе самого названия
PHP:
скопировать код в буфер обмена
  1. echo '<br><b>Продукт => '.$Get_Product[$j]['Name'].'</b><br>'; // Имя продукта

выводит нормальный читабельный текст
но когда записываю это дело в файл
PHP:
скопировать код в буфер обмена
  1. $img = file_put_contents('img/'.$Get_Product[$j]['Name'].'.jpg',file_get_contents($Get_Product[$j]['Img'])); // Записываем в файл изображение

получаются такие названия
Блендер многофункциональный MR563

Еще момент

PHP:
скопировать код в буфер обмена
  1. $mytext = '"'.$Get_Product[$j]['Name']'."\r\n";
  2. $test = fwrite($fp, $mytext); // Запись в файл
  3.  


В тексте все нормально читается.
2. DelphinPRO - 22 Января, 2013 - 20:32:02 - перейти к сообщению
в windows имена файлов пишутся в кодировке CP1251
в linux - не знаю в какой, но похоже тоже не в utf-8
(Добавление)
iconv спасет отца русской демократии
3. Pirat_BillY - 22 Января, 2013 - 23:10:57 - перейти к сообщению
DelphinPRO пишет:
в windows имена файлов пишутся в кодировке CP1251
в linux - не знаю в какой, но похоже тоже не в utf-8
(Добавление)
iconv спасет отца русской демократии


Не знал что в cp1251 записываются..

PHP:
скопировать код в буфер обмена
  1. $img = file_put_contents('Maestro/'.iconv("UTF-8","CP1251",$Get_Product[$j]['Name']).'.jpg',file_get_contents($Get_Product[$j]['Img'])); // Записываем в файл изображение


Спасибо DelphinPRO

 

Powered by ExBB FM 1.0 RC1