encoding e o php 5

Post on 24-May-2015

1.135 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Palestra dada por Augusto Pascutti no CONAPHP 2008 - Congresso Nacional de PHP que ocorreu em São Paulo nos dias 18 e 19 de Outubro dentro do CONISLI 2008

TRANSCRIPT

AugustoPascutti

1AugustoPascutti‐ConaPHP2008

 GraduandoemSistemasdeInformações

 Programadora4anos

 EspecialistaemsoluçõesWeb

 ZendCertifiedEngineer

 TrabalhaatualmentenaGráficosBurti2AugustoPascutti‐ConaPHP2008

 Oqueéencoding Algunsencodingsexistentes Unicode

 Problemasmaiscomuns

 Solucões

3AugustoPascutti‐ConaPHP2008

 Ajax

  Internacionalização

 ComunicaçãocomoutrosS.O.

 Webservices

 RSS4AugustoPascutti‐ConaPHP2008

5AugustoPascutti‐ConaPHP2008

 OqueéumCaractere? OqueéumConjuntodeCaracteres? Encoding:Conjuntodecaracterescodificados

 Algunsencodingsexistentes: ASCII(1968)  ISO‐8859‐1(1985‐2004) UTF‐8(1993)

6AugustoPascutti‐ConaPHP2008

 Oficialmentedesde1968

 7bits

 128caracteres

 Contemplatodososcaracteresingleses

7AugustoPascutti‐ConaPHP2008

 Diversos“sets”com256caracterescada

 Umsetparacadalíngua

 Caracteresacentuados!

8AugustoPascutti‐ConaPHP2008

 UniversalCharacterSet

 Compreendetodasaslínguasconhecidas

 UTF‐8,UTF‐16,UTF‐32

 Multi‐byte

 UTF‐8compatívelcomASCII9AugustoPascutti‐ConaPHP2008

 Comunicaçãocomoutrosaplicativos/serviços Ajax Webservices Feeds

10AugustoPascutti‐ConaPHP2008

  Informarencodingutilizado

 HTML PHP XML  text/plain

11AugustoPascutti‐ConaPHP2008

 HTML

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

12AugustoPascutti‐ConaPHP2008

 HTML(Ooops….)

13AugustoPascutti‐ConaPHP2008

 PHP,XML,text/plain

14AugustoPascutti‐ConaPHP2008

 CaracteresMulti‐byteefunçõesdestring

 strlen() substr() strtoupper() split()...

15AugustoPascutti‐ConaPHP2008

 strlen()

16AugustoPascutti‐ConaPHP2008

 substr()

17AugustoPascutti‐ConaPHP2008

  Iconv

 Mbstring

 PHP6

18AugustoPascutti‐ConaPHP2008

 Glibc

 HabilitadoporpadrãonoPHP5

 Maislentaqueambstring

 Boaparaconversãodestrings

 Travaemstringsmalformadas19AugustoPascutti‐ConaPHP2008

  iconv()  iconv_strlen()  iconv_strpos()  iconv_substr()

  iconv_set_encoding() ob_iconv_handler()

20AugustoPascutti‐ConaPHP2008

  iconv_strlen()

21AugustoPascutti‐ConaPHP2008

  iconv_substr()

22AugustoPascutti‐ConaPHP2008

 OutputBuffer

23AugustoPascutti‐ConaPHP2008

 NãoéhabilitadaporpadrãonoPHP

 Nãotravaemstringsmalformadas

 Maiornúmerodefunções

 Maisrápidaqueaiconv

24AugustoPascutti‐ConaPHP2008

 mb_strlen() mb_ereg_* mb_str* mb_convert_encoding()

 OutputBuffer

AugustoPascutti‐ConaPHP2008 25

 mb_strlen()

26AugustoPascutti‐ConaPHP2008

 mb_substr()

27AugustoPascutti‐ConaPHP2008

 OutputBuffer

28AugustoPascutti‐ConaPHP2008

 SóconverteISO‐8859‐1paraUTF‐8!

 Nãotravaemstringsmalformadas

29AugustoPascutti‐ConaPHP2008

AugustoPascutti‐ConaPHP2008 30

 Sempresaibaoencoding!▪ Código▪ Bancodedados

 DêpreferênciaaoUnicode(UTF‐8)

 Cuidadocomfunçõesdestringnativas

31AugustoPascutti‐ConaPHP2008

 http://www.php.net

 http://www.phpwact.org/php/i18n/charsets

  http://randomchaos.com/documents/?source=php_and_unicode

AugustoPascutti‐ConaPHP2008 32

augusto.hp@gmail.com

www.augustopascutti.com

33AugustoPascutti‐ConaPHP2008

top related