Problemas de visualización de acentos en Chrome y Safari
Resuelto
jenny131078
Mensajes publicados
177
Estado
Miembro
-
Jeanbat92 -
Jeanbat92 -
Hola,
Sé que es un tema muy común, pero he buscado en internet y en todos los foros posibles e imaginables, y no logro resolver mi problema.
Aquí está, he creado un sitio en PHP por ahora para las funciones include y formularios esencialmente, ya que no uso todavía base de datos, eso será para más tarde...
Tengo un problema bien conocido de visualización de acentos, pero únicamente en los navegadores Chrome y Safari. La idea es, por supuesto, que mi sitio se muestre correctamente en cualquier navegador.
Mis páginas llevan todas la línea <meta http-equiv="Content-type" content="text/html; charset=utf-8"/>, mi hoja de estilos también está creada en @charset "UTF-8".
He probado varias líneas de código que he encontrado en la web usando htmlentities, pero no hay manera, los acentos/apóstrofes, etc. no se muestran correctamente.
Debo estar saltando un paso, pero ¿cuál? No me gustaría tener que volver a escribir todos mis caracteres especiales uno por uno :(
¿Alguien puede ayudarme? A saber que soy principiante en PHP :o
Gracias de antemano
Configuración: Windows 7 / Firefox 18.0
Sé que es un tema muy común, pero he buscado en internet y en todos los foros posibles e imaginables, y no logro resolver mi problema.
Aquí está, he creado un sitio en PHP por ahora para las funciones include y formularios esencialmente, ya que no uso todavía base de datos, eso será para más tarde...
Tengo un problema bien conocido de visualización de acentos, pero únicamente en los navegadores Chrome y Safari. La idea es, por supuesto, que mi sitio se muestre correctamente en cualquier navegador.
Mis páginas llevan todas la línea <meta http-equiv="Content-type" content="text/html; charset=utf-8"/>, mi hoja de estilos también está creada en @charset "UTF-8".
He probado varias líneas de código que he encontrado en la web usando htmlentities, pero no hay manera, los acentos/apóstrofes, etc. no se muestran correctamente.
Debo estar saltando un paso, pero ¿cuál? No me gustaría tener que volver a escribir todos mis caracteres especiales uno por uno :(
¿Alguien puede ayudarme? A saber que soy principiante en PHP :o
Gracias de antemano
Configuración: Windows 7 / Firefox 18.0
6 respuestas
-
Hola,
Después de meses de problemas, mirando en todos los foros, sabía que no tenía un problema con el navegador (codificación utf-8, etc.) ya que había desinstalado y vuelto a instalar Chrome y el problema también ocurría en Safari.
Así es como resolví el problema de mi parte. Era un problema de fuente en Windows 7.
Panel de control > Apariencia y personalización > Fuentes
Y allí desinstalé todas las fuentes Helvetica.
Luego reinicié Chrome y el problema se resolvió.
Espero que funcione para ustedes.
¡Hasta luego! -
Hola,
¿Has seleccionado bien, en tu editor de notepad por ejemplo
Codificación => UTF-8?
¿O simplemente quitar <meta http-equiv=""Content-type"" content=""text/html;" charset="utf-8"/>?" />
----
Apasionado de la informática y los videojuegos -
Idem para la recepción de correos electrónicos a partir de mi formulario :(
Todos los acentos están codificados lo que hace que los mensajes sean ilegibles...
Aquí está mi formulario. Si tienen sugerencias son más que bienvenidas
<?php
$nom = htmlentities($_POST['nom'], ENT_QUOTES);
$telephone = htmlspecialchars($_POST['telephone'], ENT_QUOTES);
$email = htmlspecialchars($_POST['mail'], ENT_QUOTES);
$message = htmlentities($_POST['message'], ENT_QUOTES);
/*variables*/
if(!isset($email) OR $email == "")
$email = "No se ha proporcionado ningún correo electrónico";
if(!isset($message) OR $message == "")
$message = "No se ha escrito ningún mensaje";
/*email*/
$msg = "<p>Has recibido un mensaje desde el formulario del sitio: http://www.monsite.com<br />
Aquí están la información: <br /><p>
Nombre: $nom <br />
Teléfono: $telephone <br />
Correo electrónico: $email <br /><p>
Mensaje: $message</p>";
/*header*/
$mail = htmlspecialchars($_POST['mail'], ENT_QUOTES);
$mail = htmlentities($_POST['mail'], ENT_QUOTES);
if(isset($mail))
$header = "From: \"$nom\" <$mail>\r\n";
else
$header = "From: \"$nom\" <contact@monsite.com>\r\n";
$header .= "MIME-Version: 1.0\r\n";
$header .= "Content-type: text/html; charset=UTF-8\r\n";
$header .= "To: \"Mi Sitio\" <contact@ocups.com>\r\n";
$subject = htmlspecialchars($_POST['sujet'], ENT_QUOTES);
$subject = htmlentities($_POST['sujet'], ENT_QUOTES);
/*envoi mail*/
if(mail("contact@monsite.com", $subject, $msg, $header))
{
header('Location: ../pages/merci.php');
}
else
{
echo "<strong style=\"color:#ff0000;\">Debido a un error, su mensaje no ha sido enviado. Gracias por intentarlo de nuevo.</strong>";
}
?> -
Trabajo con Dreamweaver y cuando creo una página, automáticamente inserta:
<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
</head>
<body>
</body>
</html>
y las hojas de estilo
@charset "utf-8";
/* Documento CSS */ -
He eliminado la línea <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> y he comprobado la codificación en notepad al abrir mi página de índice y estoy en UTF-8 (sin BOM).
Igual los caracteres siguen estando codificados... -