encoding e o php 5
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 2008TRANSCRIPT
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