Se não estou enganado, em cinco anos trabalhando como analista de sistemas, foi a primeira vez que me deparei com um problema de encodificação "UTF-8".
Tentei resolver o problema de diversas maneiras:
O projeto esta em Struts 1.3.8, o primeiro passo foi verificar a resposta da minha requisição.
request.getParameter("param")
new String((request.getParameter("param").getBytes(), "UTF-8")
new String((request.getParameter("param").getBytes(), "ISO-8859-1")
E confirmei minhas suspeitas, a String chegava na action do struts com os valores errados e não achei maneiras de converte-los.
Verifiquei as JSP's e as definições de encode estavam corretas:
<%@page contentType="text/html" pageEncoding="UTF-8"%>
Em seguida, verifiquei um dos arquivos de configuração do Tomcat o "server.xml":
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8" />
E pra variar um pouco, encontrei a solução no site do GUJ: implementar um filtro do Spring.
Após adicionar algumas linhas ao "pom.xml" e ao "web.xml":
"pom.xml"
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring</artifactId>
<version>2.5.6</version>
</dependency>
"web.xml"
<filter>
<filter-name>charsetFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>charsetFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
Testei em diversas rotinas do aplicativo e todos os problemas com encodificação e acentos estavam resolvidos.
terça-feira, 27 de setembro de 2011
quinta-feira, 1 de setembro de 2011
Habilitando PHP no Mac OSX
Vamos lá, não há muito oque falar neste post tentei abordar tudo de uma forma simples.
No terminal digite:
'sudo vi /private/etc/apache2/httpd.conf'
Descomente a linha:
LoadModule php5_module libexec/apache2/libphp5.so
Entre no diretório onde esta o php.ini.default e faça uma cópia dele para definir os parâmetros do php5
'cd /private/etc'
'sudo cp php.ini.default php.ini'
Edite o arquivo 'php.ini' na linha 305 procure a palavra 'error_reporting' altere para:
'error_reporting = E_ALL'
Importante: Esta alteração vai impedir que alguns erros importantes sejam omitidos.
Agora a parte gráfica que deixa tudo mais fácil, rs :)
System Preferences > Sharing > Internet & Network > Web Sharing
Na tela acima você já pode visualizar os diretórios tanto via http para serem acessados pelo navegador e onde salvar os arquivos físicos.
Qualquer dúvida estou ai ...
http://foundationphp.com/tutorials/php_leopard.php
Assinar:
Postagens (Atom)