encoding e o php 5

33
Augusto Pascutti 1 Augusto Pascutti ‐ ConaPHP 2008

Upload: manuel-lemos

Post on 24-May-2015

1.135 views

Category:

Technology


0 download

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

Page 1: Encoding e o PHP 5

AugustoPascutti

1AugustoPascutti‐ConaPHP2008

Page 2: Encoding e o PHP 5

 GraduandoemSistemasdeInformações

 Programadora4anos

 EspecialistaemsoluçõesWeb

 ZendCertifiedEngineer

 TrabalhaatualmentenaGráficosBurti2AugustoPascutti‐ConaPHP2008

Page 3: Encoding e o PHP 5

 Oqueéencoding Algunsencodingsexistentes Unicode

 Problemasmaiscomuns

 Solucões

3AugustoPascutti‐ConaPHP2008

Page 4: Encoding e o PHP 5

 Ajax

  Internacionalização

 ComunicaçãocomoutrosS.O.

 Webservices

 RSS4AugustoPascutti‐ConaPHP2008

Page 5: Encoding e o PHP 5

5AugustoPascutti‐ConaPHP2008

Page 6: Encoding e o PHP 5

 OqueéumCaractere? OqueéumConjuntodeCaracteres? Encoding:Conjuntodecaracterescodificados

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

6AugustoPascutti‐ConaPHP2008

Page 7: Encoding e o PHP 5

 Oficialmentedesde1968

 7bits

 128caracteres

 Contemplatodososcaracteresingleses

7AugustoPascutti‐ConaPHP2008

Page 8: Encoding e o PHP 5

 Diversos“sets”com256caracterescada

 Umsetparacadalíngua

 Caracteresacentuados!

8AugustoPascutti‐ConaPHP2008

Page 9: Encoding e o PHP 5

 UniversalCharacterSet

 Compreendetodasaslínguasconhecidas

 UTF‐8,UTF‐16,UTF‐32

 Multi‐byte

 UTF‐8compatívelcomASCII9AugustoPascutti‐ConaPHP2008

Page 10: Encoding e o PHP 5

 Comunicaçãocomoutrosaplicativos/serviços Ajax Webservices Feeds

10AugustoPascutti‐ConaPHP2008

Page 11: Encoding e o PHP 5

  Informarencodingutilizado

 HTML PHP XML  text/plain

11AugustoPascutti‐ConaPHP2008

Page 12: Encoding e o PHP 5

 HTML

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

12AugustoPascutti‐ConaPHP2008

Page 13: Encoding e o PHP 5

 HTML(Ooops….)

13AugustoPascutti‐ConaPHP2008

Page 14: Encoding e o PHP 5

 PHP,XML,text/plain

14AugustoPascutti‐ConaPHP2008

Page 15: Encoding e o PHP 5

 CaracteresMulti‐byteefunçõesdestring

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

15AugustoPascutti‐ConaPHP2008

Page 16: Encoding e o PHP 5

 strlen()

16AugustoPascutti‐ConaPHP2008

Page 17: Encoding e o PHP 5

 substr()

17AugustoPascutti‐ConaPHP2008

Page 18: Encoding e o PHP 5

  Iconv

 Mbstring

 PHP6

18AugustoPascutti‐ConaPHP2008

Page 19: Encoding e o PHP 5

 Glibc

 HabilitadoporpadrãonoPHP5

 Maislentaqueambstring

 Boaparaconversãodestrings

 Travaemstringsmalformadas19AugustoPascutti‐ConaPHP2008

Page 20: Encoding e o PHP 5

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

  iconv_set_encoding() ob_iconv_handler()

20AugustoPascutti‐ConaPHP2008

Page 21: Encoding e o PHP 5

  iconv_strlen()

21AugustoPascutti‐ConaPHP2008

Page 22: Encoding e o PHP 5

  iconv_substr()

22AugustoPascutti‐ConaPHP2008

Page 23: Encoding e o PHP 5

 OutputBuffer

23AugustoPascutti‐ConaPHP2008

Page 24: Encoding e o PHP 5

 NãoéhabilitadaporpadrãonoPHP

 Nãotravaemstringsmalformadas

 Maiornúmerodefunções

 Maisrápidaqueaiconv

24AugustoPascutti‐ConaPHP2008

Page 25: Encoding e o PHP 5

 mb_strlen() mb_ereg_* mb_str* mb_convert_encoding()

 OutputBuffer

AugustoPascutti‐ConaPHP2008 25

Page 26: Encoding e o PHP 5

 mb_strlen()

26AugustoPascutti‐ConaPHP2008

Page 27: Encoding e o PHP 5

 mb_substr()

27AugustoPascutti‐ConaPHP2008

Page 28: Encoding e o PHP 5

 OutputBuffer

28AugustoPascutti‐ConaPHP2008

Page 29: Encoding e o PHP 5

 SóconverteISO‐8859‐1paraUTF‐8!

 Nãotravaemstringsmalformadas

29AugustoPascutti‐ConaPHP2008

Page 30: Encoding e o PHP 5

AugustoPascutti‐ConaPHP2008 30

Page 31: Encoding e o PHP 5

 Sempresaibaoencoding!▪ Código▪ Bancodedados

 DêpreferênciaaoUnicode(UTF‐8)

 Cuidadocomfunçõesdestringnativas

31AugustoPascutti‐ConaPHP2008

Page 32: Encoding e o PHP 5

 http://www.php.net

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

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

AugustoPascutti‐ConaPHP2008 32

Page 33: Encoding e o PHP 5

[email protected]

www.augustopascutti.com

33AugustoPascutti‐ConaPHP2008