cp1251->cp866->cp1251

vampiro

Новичок
cp1251->cp866->cp1251

Задача: выгрузить данные из MySQL в DBF и загрузить данные обратно после обработки внешней программой.

Кусок кода:
PHP:
for ($i=1;$i<=255;$i++){
	$k[$i]['d']=iconv('WINDOWS-1251','cp866',chr($i));
	$k[$i]['dw']=iconv('cp866','WINDOWS-1251',$k[$i]['d']);
	$k[$i]['w']=chr($i);
	if($k[$i]['dw']==$k[$i]['w'])
		unset($k[$i]);
}
var_dump($k);
вопрос: Почему массив не пустой, и как бы это исправить... ? convert_cyr_string дает точно такие же результаты... хелп!

php 5.1.1, php 5.2.1, щас попробую еще на какой-нить версии.
 

Фанат

oncle terrible
Команда форума
vampiro
ты сам-то понял, что сказал?
какой смысл в преобразовании туда сюда обратно?
какой массив должен быть пустой, и по какой причине - мы должны сами догадаться?

Где попытки отладки? Почему есть только сравнения, но нет вывода на экран сравниваемых значений?
 

Wicked

Новичок

Фанат

oncle terrible
Команда форума
ну и.
а от нас что требуется?
чтобы мы добавили в CP866 нужные символы или что?
 

vampiro

Новичок
Э.. собственно, я бы и не суетился, если бы не символ № который в ср866 существует... вроде как. Но при конвертации уходит в "пробел".
 

Wicked

Новичок
windows-1251:
0xB9 0x2116 #NUMERO SIGN

cp866:
0xfc 0x2116 #NUMERO SIGN

i = 185, а в распечатываемом массиве 185го ключа нету. Из чего я делаю вывод, что знак нумбера все таки конвертируется нормально.

-~{}~ 18.10.07 01:15:

Но при конвертации уходит в "пробел".
каким способом ты в этом убедился?
 
Сверху