Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] problema con los caracteres extraños

Estas en el tema de problema con los caracteres extraños en el foro de PHP en Foros del Web. Hola, comento lo que me pasa, en php y apache los caracteres extraños me los muestra correctamente, tambien si inserto datos en la tabla de ...
  #1 (permalink)  
Antiguo 12/08/2015, 11:56
 
Fecha de Ingreso: agosto-2011
Mensajes: 306
Antigüedad: 12 años, 8 meses
Puntos: 5
problema con los caracteres extraños

Hola, comento lo que me pasa, en php y apache los caracteres extraños me los muestra correctamente, tambien si inserto datos en la tabla de mysql con php tambien me muestra correctamente los caracteres extraños. Sin embargo al insertar datos manualmente en mysql con phpmyadmin (lo hice) si examino los datos me los muestra bien pero a la hora de recuperar los datos con php no me lo muestra bien, es decir que el problema esta en mysql, como lo deberia tener configurado mysql.

saludos.
  #2 (permalink)  
Antiguo 12/08/2015, 12:06
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: problema con los caracteres extraños

En realidad, si en phpMyadmin te los muestra bien, el error no está en MySQL. Si eso pasara, no te los mostraría bien tampoco phpMyadmin,porque esa interfaz también está programada en PHP.
El problema debe estar en el charset de la conexión que haces desde PHP en tu aplicación. Es decir que debe haber un error de programación que corrompe los datos recibidos.

Muevo tu post a PHP para que lo vean de ese lado.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 12/08/2015, 12:11
Avatar de Uncontroled_Duck
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Málaga [Spain]
Mensajes: 806
Antigüedad: 12 años, 11 meses
Puntos: 261
Respuesta: problema con los caracteres extraños

Hola primary,

Que charset estás usando de forma general, ¿UTF-8?

Si es así, has probado con ¿utf8_encode, utf8_decode?

Saludos,
__________________
Todos agradeceremos que pongas el código en su respectivo Highlight
  #4 (permalink)  
Antiguo 13/08/2015, 14:10
 
Fecha de Ingreso: agosto-2011
Mensajes: 306
Antigüedad: 12 años, 8 meses
Puntos: 5
Respuesta: problema con los caracteres extraños

Cita:
Iniciado por Uncontroled_Duck Ver Mensaje
Hola primary,

Que charset estás usando de forma general, ¿UTF-8?

Si es así, has probado con ¿utf8_encode, utf8_decode?

Saludos,
Hola gracias a los dos por contestar, Uncontroled_Duck, si uso UTF-8 en realidad no probe las funciones de php porque quiero que funcione sin ellas ya que deberia.

Queria comentar que php y mysql funcionan correctamente con tema de caracteres es decir al insertar datos con php funciona bien y me los muestra bien al insertar datos en mysql de forma manual entonces ya me los muestra mal.

gnzsoloyo como comentas que si se muestra bien en phpmyadmin no es problema de mysql pues yo ahora si que no entiendo bien, que sugerencias me recomendais que pruebe, gracias y saludos.
  #5 (permalink)  
Antiguo 13/08/2015, 14:23
 
Fecha de Ingreso: agosto-2011
Mensajes: 306
Antigüedad: 12 años, 8 meses
Puntos: 5
Respuesta: problema con los caracteres extraños

Rectifico me estoy dando cuenta que si inserto datos en mysql con php si que los muestra mal en el phpmyadmin, creia que no perdonar.
  #6 (permalink)  
Antiguo 13/08/2015, 14:55
Avatar de Uncontroled_Duck
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Málaga [Spain]
Mensajes: 806
Antigüedad: 12 años, 11 meses
Puntos: 261
Respuesta: problema con los caracteres extraños

Puedes probar a cambiar el charset en varios sitios:

php.ini
default_charset = "utf-8";

header de php
header('Content-Type: text/html; charset=utf-8');

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

Formularios
<form accept-charset="utf-8">

Mysqli
$mysqli = new msqli;
$mysqli->set_charset("utf8")

Directamente en las variables php
utf8_encode, utf8_decode

Saludos,
__________________
Todos agradeceremos que pongas el código en su respectivo Highlight
  #7 (permalink)  
Antiguo 13/08/2015, 15:42
 
Fecha de Ingreso: agosto-2011
Mensajes: 306
Antigüedad: 12 años, 8 meses
Puntos: 5
Respuesta: problema con los caracteres extraños

Cita:
Iniciado por Uncontroled_Duck Ver Mensaje
Hola primary,

Que charset estás usando de forma general, ¿UTF-8?

Si es así, has probado con ¿utf8_encode, utf8_decode?

Saludos,
Hola gracias a los dos por contestar, Uncontroled_Duck, si uso UTF-8 en realidad no probe las funciones de php porque quiero que funcione sin ellas ya que deberia.

Queria comentar que php y mysql funcionan correctamente con tema de caracteres es decir al insertar datos con php funciona bien y me los muestra bien en al insertar datos en mysql de forma manual entonces ya me los muestra mal-

gnzsoloyo como comentas que si se muestra bien en phpmyadmin no es problema de mysql pues yo ahora si que no entiendo bien, que sugerencias me recomendais que pruebe, gracias y saludos.

Hola gracias por seguir colaborando en mi problema, la verdad que estoy hecho un lio, en fin todo lo que comentas esta ya configurado correctamente como decia el problema esta al insertar datos en mysql con php todo funciona bien pero en el phpmyadmin se ve algun caracter un poco mal por ejemplo ? se ve algo asi A?.

En fin estoy viendo que justo en esa tabla tengo los campos utf8_spanish2_ci y la tabla con utf8_general_ci, pero en las demas tablas los campos los tengo con utf8_spanish2_ci o utf8_spanish_ci y la tablas asi utf8_spanish_ci.
Entonces deberia cambiar las tablas a utf8_general_ci?y el cotejamiento de la base de datos en general tambien tendria que ser utf8_general_ci?

saludos
  #8 (permalink)  
Antiguo 14/08/2015, 12:10
 
Fecha de Ingreso: agosto-2011
Mensajes: 306
Antigüedad: 12 años, 8 meses
Puntos: 5
Respuesta: problema con los caracteres extraños

Bueno despues de probar y probar y leer y leer di con la solucion a mi problema, pongo aqui la solucion pero recordar que esto se debe hacer bien de un principio si no cuesta mas encontrar el problema, en mi caso puse todas las tablas con utf8_general_ci y los campos con utf8_spanish_ci igual en apache y php, solo me falto iniciar la conexion con el servidor en utf8, que lo hice desde el archivo de configuracion de mysql agregando esta linea:

init_connect='SET NAMES utf8'

ahora lo veo todo correctamente, gracias por las ayudas.

Saludos

Etiquetas: caracteres, extraños, mysql, sql, tabla
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 10:30.