Buckminster
(usa Debian)
Enviado em 02/07/2015 - 14:58h
Eu testei aqui o código
ini_set('default_charset','latin1');
$palavra = "AaBbCcÇçEeÃã0çÇçÇèéúÚ012345";
$tamPalavra = mb_strlen($palavra);
for ($i = 0; $i < $tamPalavra; ++$i) {
echo 'Caracter ' . $i . ' = ' . utf8_decode($palavra)[$i] . '<br/>';
}
dentro de um arquivo HTML e saiu tudo certo com as letras da variável palavra, porém as palavras da página html ficaram com a encodificação de caracteres estranhos (?,[], etc).
Mas esse comportamento é normal uma vez que ini_set define o charset da página, sendo que no php.ini o charset está como utf-8 e o arquivo está como utf-8 sem BOM.
Você tem as seguintes opções: colocar TUDO como latin1 ou se tu não tem mais nada escrito na página não há porque se preocupar.
E eu não entendi o que tu quis dizer com "diminuir o código pela metade".