Comunidad de diseño web y desarrollo en internet online

Caracter extraño que deforma el diseño

Citar            
MensajeEscrito el 06 Jul 2008 02:56 am
Hola, tengo un problema BASTANTE CURIOSO... creo que me habia pasado una vez antes pero la verdad es que mi cabeza no logra recordar porque pasa, o como se soluciona.

Veran, tengo un sitio web, http://www.lavozip.com que en firefox se ve bien, pero en IE7 todo el diseño se cae hacia la izquierda.

Cuando lo vi me extraño un monton porque antes de pasarlo como theme de wordpress no se veia asi. Asi que compare todo el codigo con el diseño original y estaba igual, no habia ningun tag roto.

Luego en firefox le di ver al codigo fuente, lo pegue en notepad++ y me fije que habia un caracter extraño al principio del documento (el primer caracter). El caracter es el siguiente:




para los mas cultos, en hexadecimal es:

ef bb bf ef bb bf >> 


borre el caracter, cargue el codigo en IE y woala, se veia perfecto, ponia el caracter y se dañaba.

Asi que pense que era problema de codificación, revise que todos los archivos del template estuvieran en UTF-8. todo bien.

Revise que no existiera ningun espacio en blanco o caracter antes de imprimir el <!DOCTYPE en todos los archivos. De nuevo, perfecto.

Desabilite todos los plugins del wordpress

Pero el problema sigue. Notese que pasa tanto en el servidor como en local.

Por neohunter

Claber

563 de clabLevel

1 tutorial

 

Bogota, Colombia

opera
Citar            
MensajeEscrito el 06 Jul 2008 02:58 am
NOTA: tomenlo como uno de mis test de inteligencia U_U.
NOTA 2: el caracter no se ve en el quote, pero ahi esta.

Por neohunter

Claber

563 de clabLevel

1 tutorial

 

Bogota, Colombia

opera
Citar            
MensajeEscrito el 06 Jul 2008 03:42 am
no veo nada, pero me suena a que son dos posibilidades: estan haciendo copy/paste de Word o algo asi que mete caracteres misteriosos o no estas renderizando bien el texto.

el final lo mas seguro es que lo soluciones con las entidades en html, si estas trabajando en php htmlentities() puede ayudarte.

Por siddharta

Claber

1890 de clabLevel

6 tutoriales
6 articulos

Genero:Masculino  

..un espectro del mas alla

firefox
Citar            
MensajeEscrito el 06 Jul 2008 05:13 am
ese carácter lo pone el dreamweaver. abre el documento con el zend y ahí lo vas a ver!! a mi me paso cuando quería
hacer un include(); en php y por alguna razon ahi estaba ese carácter, pero el zend es el único que te lo visualiza. no se porque.

Por phoxer

Claber

827 de clabLevel

4 tutoriales

Genero:Masculino  

Ing en Sistemas

firefox
Citar            
MensajeEscrito el 06 Jul 2008 06:04 am
Es u problema de codificación, no es de Dreamweaver como dice phoxer. Si en los headers HTML no le pones la misma codificación que estás usando, saldrá eso.

Por Freddie

BOFH

53 tutoriales
597 articulos
43 ejemplos

Genero:Masculino   Admin

Conserje de Cristalab

firefox
Citar            
MensajeEscrito el 06 Jul 2008 06:04 am
¿Y qué carajo hace este post en Charla? Lo muevo.

Por Freddie

BOFH

53 tutoriales
597 articulos
43 ejemplos

Genero:Masculino   Admin

Conserje de Cristalab

firefox
Citar            
MensajeEscrito el 06 Jul 2008 06:29 am
No creo que sea un problema de headers ya que ese carácter esta incluso antes que el <html>
por otra parte yo le comente eso a neohunter porque ya tube el mismo problema U_U y lo solucione usando otro compilador como el zend. proba, no perdes nada con abrir el mismo documento con el zend y ahi lo vas a ver. :)
no se porque esta ese carácter y juro que era el dreamweaver que lo colocaba (ojo que yo uso el dramweaver también hee).. no se ahora la ultima versión porque yo tube ese problema una sola vez.

Por phoxer

Claber

827 de clabLevel

4 tutoriales

Genero:Masculino  

Ing en Sistemas

firefox
Citar            
MensajeEscrito el 06 Jul 2008 04:17 pm
Es un problema de codificación, a mí me paso una vez de manera parecida con unos archivos php, cuando probe un archivo que estaba trabajando localmente (en linux) a la máquina de un amigo (en windows) varios de mis archivos aparecieron con caracteres misteriosos al inicio, al parecer deformaciones del caracter '<' que se utiliza para abrir las etiquetas.

No todos los editores de código utilizan la misma codificación para sus archivos, y muchos nunca te indican cual es la codificación que están usando, tu puedes creer que es utf8 pero en realidad usan codificación de 8 bits, y luego se da el caso de que algunos caracteres en tu archivo están codificados de una manera y otros de otra.

Yo diría que reescribas el tag de header en un editor en el que sí sepas que codificación tienes y que sea la misma que seleccionas en tu html.

Por Odin

Claber

639 de clabLevel

2 tutoriales

Genero:Masculino   Premio_Secretos

El valle de las hamacas

firefox
Citar            
MensajeEscrito el 06 Jul 2008 08:34 pm
1) No uso dreamweaver, no me gusta. Uso notepad++.
2) Revise que todos los archivos estuvieran en UTF-8. me asegure de que no hubiera nada raro al principio de ninguno de los archivos del template (con editor hexadecimal).
3) haciendo copy paste de word ¬¬? seguramente es eso...

en fin, que hago entonces?

1) miro el encabezado de la conexion http para ver que codificacion esta avisando que enviara?
2) miro en que codificacion estan los arhivos de wordpress (utf-8, que no?)
3) configuración de apache? (se que esta bien)

Por neohunter

Claber

563 de clabLevel

1 tutorial

 

Bogota, Colombia

opera
Citar            
MensajeEscrito el 06 Jul 2008 09:21 pm
1) miro el encabezado de la conexion http para ver que codificacion esta avisando que enviara?


HTTP/1.1 200 OK
Date: Sun, 06 Jul 2008 21:15:26 GMT

Server: Apache/1.3.41 (Unix) PHP/5.2.4 mod_log_bytes/1.2 mod_bwlimited/1.4 mod_auth_passthrough/1.8 FrontPage/5.0.2.2635 mod_ssl/2.8.31 OpenSSL/0.9.7f
X-Powered-By: PHP/5.2.4
X-Pingback: http://lavozip.com/xmlrpc.php
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html; charset=UTF-8

3ea1
......<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">


Puede ser BOM?

Por neohunter

Claber

563 de clabLevel

1 tutorial

 

Bogota, Colombia

opera
Citar            
MensajeEscrito el 06 Jul 2008 09:23 pm
Sip, al parecer es BOM, EF BB BF significa UTF-8

Por neohunter

Claber

563 de clabLevel

1 tutorial

 

Bogota, Colombia

opera
Citar            
MensajeEscrito el 06 Jul 2008 09:42 pm
Bleh, que tonto, no se me vino a la cabeza.

Aqui un mini resumen con la solucion (porque esto le pasara a mas de uno aqui, en el futuro. Ademas los problemas de codificación siempre son un dolor de cabeza):

Despues de haber convertido todos los archivos a UTF recibí el siguiente error:

Warning: Cannot modify header information - headers already sent by (output started at /home/lavozip/public_html/wp-content/themes/LaVozIp/functions.php:1) in /home/lavozip/public_html/wp-includes/pluggable.php on line 694


el archivo functions de un theme lo carga wordpress con include, y se supone que no debe imprimir nada de texto. El problema esta en el uso de UTF-8 con BOM como codificación de texto para el fichero.

BOM (Byte Order Mark) es una firma al principio del fichero que indica el tipo de codificacíón UTF y orden de bytes que tendra el documento, sirve para reconocer el tipo de lenguaje y su orientación. Según entiendo es un problema similar a los lenguajes que se escriben de derecha a izquierda (como el arabe) contra los que se escriben de izquierda a derecha.

Ademas creo que esta pensado para codificaciones mas extensas como el UTF-16 y el UTF-32. Pero algunas aplicaciones de windows firman por defecto cualquier fichero UTF con BOM. Como dije antes la representación para el UTF-8 del BOM es la secuencia de bytes EF BB BF que aparece como los caracteres ISO-8859-1 "" (los que aparecian en el editor hexadecimal)

En PHP tiene el sutil efecto de hacer que la pagina sea enviada inmediatamente al navegador (antes de que php procese siquiera la primera linea del archivo), evitando que las cabeceras (custom headers) puedan ser especificadas por el script PHP.

Internet Explorer al recibir caracteres no solicitados los toma como un error en el DOM, imprime los caracteres y hace que el diseño (al tener margin:auto) se deforme.

Buen dia =)

Por neohunter

Claber

563 de clabLevel

1 tutorial

 

Bogota, Colombia

opera
Citar            
MensajeEscrito el 06 Jul 2008 10:47 pm
amm, por si no quedo claro, el archivo header.php usaba codificacion UTF-8 con BOM.

Para solucionarlo en el notepad++ simplemente van al menu formato >> Codificacion UTF-8 sin BOM.

Sino en las opciones de formato de Aptana,

o eliminando los primeros 4 bytes de el fichero con un editor hexadecimal

Por neohunter

Claber

563 de clabLevel

1 tutorial

 

Bogota, Colombia

opera
Citar            
MensajeEscrito el 07 Jul 2008 06:36 pm
Gracias por tu autoayuda compartida ^^

Por Nito

790 de clabLevel



 

Transformado en 100111101000011

firefox
Citar            
MensajeEscrito el 07 Jul 2008 07:55 pm

Freddie escribió:

Es u problema de codificación, no es de Dreamweaver como dice phoxer. Si en los headers HTML no le pones la misma codificación que estás usando, saldrá eso.


Estas equivocado, puedes definir adecuada o erroneamente, o no definir la codificación en el documento como parte de las cabeceras HTML, si el fichero usa BOM igual tendras el mismo problema.

Por neohunter

Claber

563 de clabLevel

1 tutorial

 

Bogota, Colombia

opera
Citar            
MensajeEscrito el 09 Dic 2009 07:01 pm
No te haces una idea de la que me salvaste ;)

Abrazo
Martín

Por Martincho7

106 de clabLevel

1 tutorial

 

Montevideo, Uruguay

firefox
Citar            
MensajeEscrito el 22 Jun 2010 05:18 pm
Tengo el siguiente problema, tengo todo con "utf 8 sin bom" en notepad++, y a nivel de la aplicación todo funciona bien con respecto a los acentos y las eñes, tanto la inserción como el despliegue al editar y así.
El problema que tengo es que estos caracteres se ven mal en el phpmyadmin, apesar de que se supone que está como utf8, y también, y más importante, es que tengo unos reportes hechos en jasper y aquí, por más sin bom y ponerlo patas'pa arriba me salen mal, tanto en el despliegue html como en pdf.
Esta es la conexión que utilizo con el contexto del tomcat:
<Resource name="jdbc/xxxx" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000"
username="xxxx" password="xxx" driverClassName="com.mysql.jdbc.Driver"
useEncoding="true" connectionCollation="utf8_general_ci"
characterEncoding="UTF-8" useUnicode="true"
url="jdbc:mysql://localhost:xxx/xxxx?autoReconnect=true"/>

He hecho eso para todo lado, todo tipos de cambios, cambiar los atributos, agregar y quitar varas, y nada!!

Agradecería un mundo si alguien me ayuda.

Por ldcl289

0 de clabLevel



 

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.