Foros del Web » Programando para Internet » PHP »

PHP + JavaScript - problema codificación caracteres

Estas en el tema de PHP + JavaScript - problema codificación caracteres en el foro de PHP en Foros del Web. Hola tengo un script PHP y un script JavaScript, ambos archivos son UTF-8 (comprobado con Notepad++). El script PHP comienza así: <?php header("Content-Type: text/html; charset=utf-8"); ...
  #1 (permalink)  
Antiguo 05/09/2011, 05:22
 
Fecha de Ingreso: septiembre-2004
Mensajes: 17
Antigüedad: 20 años, 1 mes
Puntos: 0
PHP + JavaScript - problema codificación caracteres

Hola

tengo un script PHP y un script JavaScript, ambos archivos son UTF-8 (comprobado con Notepad++).

El script PHP comienza así:

<?php
header("Content-Type: text/html; charset=utf-8");


Compruebo la web en FF y la codificación es Unicode (UTF-8).
El HTML contiene:

<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />

en el head.


Si en el script PHP escribo acentos, en la web se ven bien.
En un campo de texto de la web escribo una palabra con acentos y mediante AJAX la envío a otro script script PHP, también este archivo está en UTF8.

Justo recuperar el parámetro querría imprimirlo en el log de errores de apache:

$data = $_POST["data"];

error_log("POST content:$data", 0);

El archivo de errores (error.log) lo he convertido a UTF8, pero la palabra con acentos ya no se escribe bien allí. Si pongo una palabra con acentos en el mismo script para grabar en el archivo de errores:

error_log("pruebá", 0);


tampoco se ve bien.

Si recupero una palabra con acentos correctamente insertada en base de datos, y la imprimo en el HTML, tampoco se ve bien, a diferencia de la que tengo escrita en el propio archivo PHP que imprime el HTML.


También he probado habiltando el parámetro:

; PHP's default character set is set to empty.
; http://php.net/default-charset
default_charset = "utf-8"


en el archivo php.ini.

¿Cómo puedo solucionar esto?

Al hacer un insert en base de datos SQL tampoco se ve bien la palabra con acentos.

He mriado
  #2 (permalink)  
Antiguo 05/09/2011, 05:37
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 8 meses
Puntos: 253
Respuesta: PHP + JavaScript - problema codificación caracteres

Buenas, seguramente te falte poner UTF-8 también en el Charset de la base de datos. Si utilizas PhpMyAdmin puedes cambiar los dos cotejamientos, el de la base de datos y el de las conexión MySQL que se abren a dicha base de datos.

También puedes cambiarlo desde PHP con:
Código PHP:
Ver original
  1. mysql_query("SET NAMES 'UTF-8'", $this->connection)

A ver si con esto se te arregla.

Un saludo.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?
  #3 (permalink)  
Antiguo 05/09/2011, 06:57
Avatar de CesarHC  
Fecha de Ingreso: junio-2011
Ubicación: localhost
Mensajes: 566
Antigüedad: 13 años, 5 meses
Puntos: 56
Respuesta: PHP + JavaScript - problema codificación caracteres

Yo tenia un problema asi, lo arregle con:

$variable = utf8_decode($variable);

Espero que te sirva.
__________________
Solo la práctica no te traicionara ¡¡¡¡¡¡

Seguir el camino tu debes PHP The Right Way.

Etiquetas: caracteres, html, javascript, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:09.