Сохранение файла в CP1251

Статус
В этой теме нельзя размещать новые ответы.
Апну топик, ввиду неожиданных траблов с iconv. Проблема в следующем: содержимое, получаемое после перекодировки ~ в 2 раза меньше, чем исходник.
PHP:
  $encoded = iconv("utf-8", "windows-1251", $source);
  echo $encoded;
$encoded - в 2 раза меньше чем source. И в файл писал, и на экран выводил - все равно. С $source все ок. Кто подскажет куда копать?
 
Никуда - это нормально: ср1251 использует один байт на символ, а utf - от 2-х байт на символ.
 
Апну топик, ввиду неожиданных траблов с iconv. Проблема в следующем: содержимое, получаемое после перекодировки ~ в 2 раза меньше, чем исходник.
PHP:
  $encoded = iconv("utf-8", "windows-1251", $source);
  echo $encoded;
$encoded - в 2 раза меньше чем source. И в файл писал, и на экран выводил - все равно. С $source все ок. Кто подскажет куда копать?

Так в utf-8 русские символы кодируются длиной 2 байта. Все правильно.

Добавлено через 57 секунд
PHP_Master: опередил)
 
Ключевой момент не в размере файлов, а в их содержимом. Ок, пусть размер снижается за счет кол-ва бит на символ - но куда контент-то девается? После перекодировки в результирующем файле html обрывается где-то на половине. Тоже и при выводе на экран.

UPD:
"Если добавить //IGNORE, то символы, которых нет в конечной кодировке, будут опущены. Иначе, будет возвращена строка str , обрезанная до первого недопустимого символа."
Всем спасибо, проблема решена.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху