Trabalhando com Unicode
      PHP e Unicode
PHP 5 não dá suporte nativo às codificações Unicode. Porém, uma das grandes promessas para PHP 6 será a divisão do tipo string em 2: string e binary. O futuro tipo string será usado para representar textos em alguma codificação e será suportada a utilização de unicode. Já o tipo binary será usado para armazenar sequência de bytes, assim como é o tipo "string" atual.
Atualmente, se fizermos o seguinte código em PHP e salvarmos em UTF-8...
... o valor da variável $letra receberia o valor "A", a variável $sub receberia o valor "aç" e a variável $len receberia o tamanho 8.
Isso acontece porque o operador colchetes obtem o N-ésimo byte da string e não o N-ésimo símbolo. Da mesma forma, a função substr trabalha com bytes e não com símbolos. E a função strlen devolve o número de bytes e não o número de símbolos. Como o símbolo "ç" ocupa dois bytes em UTF-8, estas funções tem seu significado afetado.
Portanto, para trabalhar com textos em UTF-8, é preciso ferramentas externas que simulem as operações básicas sobre textos. Uma alternativa simples é usar a extenão PRCE para obter substring, já que a extensão já suporte codificação UTF-8.
Para um script PHP informar para o navegador que está utilizando a codificação UTF-8, basta usar a função header e informar o valor da diretiva Content-type com o valor adequado. Por exemplo:
Uma outra alternativa é simular o comportamento do cabeçalho HTTP através da tag HTML "meta":
    
  
    
    
  PHP 5 não dá suporte nativo às codificações Unicode. Porém, uma das grandes promessas para PHP 6 será a divisão do tipo string em 2: string e binary. O futuro tipo string será usado para representar textos em alguma codificação e será suportada a utilização de unicode. Já o tipo binary será usado para armazenar sequência de bytes, assim como é o tipo "string" atual.
Atualmente, se fizermos o seguinte código em PHP e salvarmos em UTF-8...
<?php $texto = 'açAEIOU'; $letra = $texto[3]; $sub = substr($texto, 0, 3); $len = strlen($texto);
... o valor da variável $letra receberia o valor "A", a variável $sub receberia o valor "aç" e a variável $len receberia o tamanho 8.
Isso acontece porque o operador colchetes obtem o N-ésimo byte da string e não o N-ésimo símbolo. Da mesma forma, a função substr trabalha com bytes e não com símbolos. E a função strlen devolve o número de bytes e não o número de símbolos. Como o símbolo "ç" ocupa dois bytes em UTF-8, estas funções tem seu significado afetado.
Portanto, para trabalhar com textos em UTF-8, é preciso ferramentas externas que simulem as operações básicas sobre textos. Uma alternativa simples é usar a extenão PRCE para obter substring, já que a extensão já suporte codificação UTF-8.
Para um script PHP informar para o navegador que está utilizando a codificação UTF-8, basta usar a função header e informar o valor da diretiva Content-type com o valor adequado. Por exemplo:
<?php
header('Content-Type: text/html; charset=UTF-8');
...
Uma outra alternativa é simular o comportamento do cabeçalho HTTP através da tag HTML "meta":
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    ...
                  ficou legalzinho
              
      
        03/05/2010 1:01pm
        (~15 anos atrás)
      
    
                  Sobre array já existe um artigo antigo:
http://phpbrasil.com/artigo/hY3cOW1zZuTt/arrays--parte-1
http://phpbrasil.com/artigo/5opX9LWqLIi/arrays--parte-2
      http://phpbrasil.com/artigo/hY3cOW1zZuTt/arrays--parte-1
http://phpbrasil.com/artigo/5opX9LWqLIi/arrays--parte-2
        17/03/2010 9:36pm
        (~15 anos atrás)
      
    
                  Artigo explicado de forma bem "entendível", gostei muito.
Sugiro um deste tipo falando de array, seria legal.
      Sugiro um deste tipo falando de array, seria legal.
        17/03/2010 1:30pm
        (~15 anos atrás)
      
    
                  Ótimo artigo!!!
Você explicou muito bem desde a base até ao topo, fazendo-o ficar fácil de compreender!!!
Parabéns!!!
      Você explicou muito bem desde a base até ao topo, fazendo-o ficar fácil de compreender!!!
Parabéns!!!
        13/03/2010 7:13pm
        (~15 anos atrás)
      
    
