Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá, galera!
Vim amolar vocês mais um pouquinho com uma questão:
Estava vendo na internet (o site estava em inglês e também não lembro qual é) um questionamento sobre usar strlen() ou mb_strlen(), por causa do UTF-8, já que os dois mostram resultados diferentes para a mesma string (desde que esteja acentuada).
ao olhar mais a fundo, percebi outro probleminha:
No notepad++ ao selecionar a opção "converter para ANSI":
$string = 'fórum imasters';
echo $string; // Resultado : fórum imasters
echo strlen($string); // resultado: 14
echo mb_strlen($string, 'utf-8'); // resultado 11
No notepad++ ao selecionar a opção "UTF-8 (SEM BOM)" (recomendada) e sem setar o header como utf-8 no php :
$string = 'fórum imasters';
echo $string; // Resultado : fórum imasters
echo strlen($string); // resultado: 15
echo mb_strlen($string, 'utf-8'); // resultado 14
No notepad++ ao selecionar a opção "UTF-8 (SEM BOM)" e setando o header como utf-8 no php :
$string = 'fórum imasters';
echo $string; // Resultado : fórum imasters
echo strlen($string); // resultado: 15
echo mb_strlen($string, 'utf-8'); // resultado 14
E aí? O que vocês me dizem dessa situação? Qual das funções é confiável (ou pelo menos mais recomendável)? UTF-8 sem BOM é sempre bem-vindo?
Por que ? :)
Por que ? :)
Você diz por que é bom usar UTF-8 sem BOM e usar as funções Multibyte do PHP?
Sim
Porque UTF-8 é um charset completíssimo (não posso dizer universal porque não sei se ele compreende os caracteres alienígenas hehehehe), mas praticamente todos os caracteres que conhecemos, incluindo símbolos, letras japonesas, chinesas, e etc., todos eles são "cobertos" por esse charset... E se no UTF-8 já estão todas as nossas letras e suas variações acentuadas, por que continuar utilizado a ISO-8859-1/Latin1 se o UTF-8 é tudo isso e muito mais? :assobiando:
Chega de sofrer com codificação, minha gente, vamos migrar todos para UTF-8 e sejamos todos felizes!
:joia:
UTF-8 sem BOM e usar as funções Multibyte do PHP...
:seta: http://www.php.net/manual/pt_BR/ref.mbstring.php
:joia: