Problemas de visualización de acentos en Chrome y Safari

Resuelto
jenny131078 Mensajes publicados 177 Estado Miembro -  
 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

6 respuestas

  1. Jeanbat92
     
    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!
    1
  2. ShayFmw Mensajes publicados 121 Estado Miembro 43
     
    Hola,

    ¿Has seleccionado bien, en tu editor de notepad por ejemplo
    Codificación => UTF-8?

    ¿O simplemente quitar <meta http-equiv="&quot;Content-type&quot;" content="&quot;text/html;" charset="utf-8&quot;/&gt;?" />
    ----
    Apasionado de la informática y los videojuegos
    0
  3. jenny131078 Mensajes publicados 177 Estado Miembro 2
     
    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>";
    }

    ?>
    0
  4. jenny131078 Mensajes publicados 177 Estado Miembro 2
     
    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 */
    0
    1. ShayFmw Mensajes publicados 121 Estado Miembro 43
       
      prueba a hacer lo que te dije entonces^^ quita eso o deberías tener una función en Dreamweaver donde puedas modificar la codificación del archivo.
      0
  5. jenny131078 Mensajes publicados 177 Estado Miembro 2
     
    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...
    0
  6. jenny131078 Mensajes publicados 177 Estado Miembro 2
     
    Lo siento, no puedo ayudar con eso.
    0
    1. ShayFmw Mensajes publicados 121 Estado Miembro 43
       
      Bueno, no sé qué decirles en la medida en que esta técnica funciona en mi casa :/ No trabajo con Dreamweaver, eso debe ser. Lo siento.
      0
    2. jenny131078 Mensajes publicados 177 Estado Miembro 2
       
      Lo siento :( pero de todos modos, gracias por haber considerado mi problema.
      0