Re:Configuração de \"charset\" Re:Configuração de \"charset\"
Transcrição
Re:Configuração de \"charset\" Re:Configuração de \"charset\"
Configuração de \"charset\" Posted by mlino - 2008/01/03 19:28 _____________________________________ Boas tardes, Estou pela primeira vez a usar o vosso forum, estando também nos meus primeiros passos em PHP. Instalei no meu pc o pacote WAMP. Tudo parece estar a correr bem até ao momento. O problema que estou a ter, ao fazendo um select ao MySql, reside no incorrecto formato dos caracteres portugueses, como o "ç" o "~". Neste momento tenho o MySql configurado com uft8. O php.ini está com o "default_charset = ISO-8859-1". Agradecia ajuda neste assunto. Com os meus agradecimentos, Manuel ============================================================================ Re:Configuração de \"charset\" Posted by tiago - 2008/01/04 13:08 _____________________________________ Antes de mais, bem-vindo ao PHP-PT.com! :) Já tive montanhas de problemas por causa do charset! Tenta colocar ambos os charsets como ISO-8859-1. Vê o url http://dev.mysql.com/doc/refman/4.1/pt/charset-mysql.html A minha resolução do problema na altura foi mudar o charset para iso-8859-1 no httpd.conf (configuração do apache) e a collation do mysql. Se ainda continuares com problemas, avisa! Um abraço, Tiago Lopes ============================================================================ Re:Configuração de \"charset\" Posted by mlino - 2008/01/04 15:37 _____________________________________ Olá Tiago. Obrigado pela ajuda e pelo tempo dispendido. O que eu tentei entretanto, foi configurar o MySql através do "MySql Server instance configuration Wizard" para o "charset/collation = "uft8", e o php.ini também para o "default_charset ="uft8"". Pelo menos o resultado é mais positivo, pois os caracteres aparecem já nas páginas ".php" correctamente. A única coisa que falta, é, no "MySql Administrator", quando entro em "Edit table data", os caracteres nas tabelas, aí sim, não estão como desejaríamos que aparecessem. Isto quer dizer que se eu tiver que editar manualmente alguma informação nas tabelas que contenham os nossos tão famosos caracteres, vou ficar às aranhas. Não sei agora se devo tentar como disseste ou se tens, com mais esta informação, outra sugestão. Obrigado e um abraço, Manuel Lino ============================================================================ Re:Configuração de \"charset\" Posted by mlino - 2008/01/04 21:05 _____________________________________ Tiago, Antes de mais, queria agradecer as boas vindas.:) PHP-PT.com Forum - Comunidade Portuguesa de PHP Joomlaboard Forum Component version: 1.1.4 Stable Generated: 1 October, 2016, 19:22 Quanto ao problema dos caracteres não serem correctos no MySql Administrator, mesmo depois de criar novas tabelas, agora correctamente penso eu com o charset "utf8", continua a mostrar caracteres incorrectos ou irreconhecíveis. Assim sendo, instalei o phpMyAdmin e pelo menos consigo ver a informação correctamente e consequentemente editála sem problemas. No entanto, depois da instalação do phpMyAdmin, ao fazer o login, os seguintes erros são apontados: 1º - The mbstring PHP extension was not found and you seem to be using multibyte charset. Without mbstring extension phpMyAdmin is unable to split strings correctly and it may result in unexpected results. 2º - Your PHP MySQL library version 5.0.45 differs from your MySQL server version 5.1.22. This may cause unpredictable behavior. 3º - não é possível carregar a extensão mcrypt ;<br />verifique a configuração do PHP por favor Consigo no entanto aceder à informação, editá-la, etc. Ainda tenho muito pouco tempo de manuseamento, e provavelmente, mais adiante, deparar-me-ei com erros. Assim agradecia ajuda na resolução destes erros acima mencionados. Obrigado pela cooperação e paciência. Um abraço Manuel Lino ============================================================================ Re:Configuração de \"charset\" Posted by luisv - 2008/01/04 22:58 _____________________________________ * O charset pode ainda ser controlado de 2 maneiras: 1. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />; 2. no browser configurar o charset. * Respondendo às últimas perguntas: 1º - A extensão "mbstring" tem que ser activada no php.ini, i.e., na secção "extensions" procura por mbstring e tira o pontoe-vírgula que está antes. http://php.net/manual/en/ref.mbstring.php 2º - O ficheiro libmysql.dll do PHP é diferente da biblioteca usada no core do mysql, i.e., tens de ter na directoria PHP o ficheiro .dll que use a mesma versão que o mysql. Mas se for uma versão actualizada não tem mal nenhum. O importante é no teu servidor público as coisas funcionarem de modo idêntico. 3º - Mesmo problema do ponto 1º. Após estas alterações, o servidor web tem que ser reiniciado. Depois correr uma página info.php com <?php phpinfo(); ?> e verificar que as extensões estão activas. Outras extensões "interessantes" a procurar no site php: - curl - exif - libgd ... enfim, outras ainda em http://pecl.php.net/ ============================================================================ Re:Configuração de "charset" Posted by mlino - 2008/01/05 09:30 _____________________________________ Luís, Obrigado pela ajuda. No php.ini, encontrei uma série de possibilidades relativas ao mbstring. Como não quero mexer onde não devo e sendo PHP-PT.com Forum - Comunidade Portuguesa de PHP Joomlaboard Forum Component version: 1.1.4 Stable Generated: 1 October, 2016, 19:22 um "rookie" nestas andanças, colo a secção respectiva, esperando uma indicação exacta no que devo activar. Aque vai: ------------------------------- ; language for internal character representation. ;mbstring.language = Japanese ; internal/script encoding. ; Some encoding cannot work as internal encoding. ; (e.g. SJIS, BIG5, ISO-2022-*) ;mbstring.internal_encoding = EUC-JP ; http input encoding. ;mbstring.http_input = auto ; http output encoding. mb_output_handler must be ; registered as output buffer to function ;mbstring.http_output = SJIS ; enable automatic encoding translation according to ; mbstring.internal_encoding setting. Input chars are ; converted to internal encoding by setting this to On. ; Note: Do _not_ use automatic encoding translation for ; portable libs/applications. ;mbstring.encoding_translation = Off ; automatic encoding detection order. ; auto means ;mbstring.detect_order = auto ; substitute_character used when character cannot be converted ; one from another ;mbstring.substitute_character = none; ; overload(replace) single byte functions by mbstring functions. ; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(), ; etc. Possible values are 0,1,2,4 or combination of them. ; For example, 7 for overload everything. ; 0: No overload ; 1: Overload mail() function ; 2: Overload str*() functions ; 4: Overload ereg*() functions ;mbstring.func_overload = 0 ; enable strict encoding detection. ;mbstring.strict_encoding = Off ----------------------------------------Quanto à extensão "mcrypt", nada existe no php.ini com este nome. Terei possivelmente que fazer o download dessa extensão. Vou tentar. Expero encontrá-la no link mencionado. ------------------------------------------ Fiz o download dos ficheiros "libmscrypt.dll" e "libmscrypt.lib". Preciso agora de ajuda na maneira correcta de instalar a extensão. Obrigado. Paciência com este velho iniciante. Manuel Lino Post edited by: mlino, at: 2008/01/05 10:49 ============================================================================ PHP-PT.com Forum - Comunidade Portuguesa de PHP Joomlaboard Forum Component version: 1.1.4 Stable Generated: 1 October, 2016, 19:22 Re:Configuração de \"charset\" Posted by mlino - 2008/01/05 09:43 _____________________________________ Luis, Consegui fazer o download dos ficheiros "libmscrypt.dll" e "libmscrypt.lib". Priciso de ajuda no modo de instalação correcta desta extensão. Agradeço a paciência com este velho iniciante. Manuel Lino ============================================================================ Re:Configuração de \"charset\" Posted by luisv - 2008/01/05 17:04 _____________________________________ Não sei a versão do PHP que esse WAMP usa, portanto sugiro uma de 2 soluções (assumo que a máquina é windows): solução 1: - fazer o instalação da versão mais recente do php com o ficheiro http://www.php.net/get/php-5.2.5-win32-installer.msi/from/a/mirror; ao correr a instalação é possível escolher as extensões a instalar (mysql, mcrypt, mbstring, etc); fica tudo feito automaticamente. Se optar por esta solução é recomendável parar o servidor web primeiro. solução 2: No php.ini, no bloco de "Dynamic Extensions", um pouco mais abaixo (Windows Extensions) está um conjunto de linhas comentadas com ";"! Ex: ;extension=php_mbstring.dll ;extension=php_exif.dll ;extension=php_mysql.dll ;extension=php_gd2.dll ;extension=php_curl.dll Para activar as extensões, apagar o ";". Não esquecer de reiniciar o servidor web após as alterações. Que me lembre não deve ser preciso mais nada. ============================================================================ Re:Configuração de \"charset\" Posted by mlino - 2008/01/07 12:39 _____________________________________ Viva Luís, Obrigado e desculpe a demora na resposta. Segui a primeira solução da reinstalação. Mas não deu resultado. Nunca mais consegui iniciar o serviço do Apache. Tentei procurar por entradas duplicadas nos ficheiros de configuração, verficar os paths nas variáveis de ambiente, mas nada. Assim resolvi desinstalar tudo, ontem, e baixar a última versão do Xampp. Instalei-o e após pequenos ajustes em alguns ficheiros de configuração e depois de correr o script de segurança para atribuir uma password ao "root", voilá, está tudo a funcionar sem qualquer erro. A única coisa que me falta, mas ainda não explorei o caso, é configurar o SMTP que vem no Xampp. Provavelmente estarei de volta quando me dedicar a essa tarefa.:) Portanto por agora é tudo. Obrigado a si e ao Tiago pela vossa ajuda e paciência. Manuel Lino ============================================================================ PHP-PT.com Forum - Comunidade Portuguesa de PHP Joomlaboard Forum Component version: 1.1.4 Stable Generated: 1 October, 2016, 19:22 Re:Configuração de \"charset\" Posted by luisv - 2008/01/07 19:33 _____________________________________ Pois.. O PHP pode correr em modo .cgi ou .exe. Provavelmente foi este o problema na 2a tentativa. Em futuras intervenções, convém sempre dizer qual o Sistema operativo, as versões dos softwares usados. Lamento ter induzido em "erro". Ainda bem que solucionou o problema! :) ============================================================================ Re:Configuração de \"charset\" Posted by mlino - 2008/01/08 18:12 _____________________________________ Luís, Eu é que lamento não ter sido mais específico no que diz respeito à plataforma. De qualquer modo, obrigado por tudo. Manuel Lino ============================================================================ PHP-PT.com Forum - Comunidade Portuguesa de PHP Joomlaboard Forum Component version: 1.1.4 Stable Generated: 1 October, 2016, 19:22