Foros del Web » Programando para Internet » PHP »

Problema con codificación de caracteres

Estas en el tema de Problema con codificación de caracteres en el foro de PHP en Foros del Web. Buenas tardes, Estoy teniendo un conflicto con la codificación de caracteres, y en principio no sabía en dónde crear este post, pero como estoy desarrollando ...
  #1 (permalink)  
Antiguo 17/09/2013, 09:25
 
Fecha de Ingreso: agosto-2013
Ubicación: Canelones
Mensajes: 6
Antigüedad: 10 años, 8 meses
Puntos: 0
Problema con codificación de caracteres

Buenas tardes,

Estoy teniendo un conflicto con la codificación de caracteres, y en principio no sabía en dónde crear este post, pero como estoy desarrollando en PHP decidí poner mi duda aquí.

La cuestión es que tengo una aplicación PHP que usa una base de datos MySQL, y cuando recupero los datos de la base y los imprimo con echo en un HTML para mostrar al cliente, las letras que tienen tilde no aparecen impresas (por ejemplo, si el texto que está en la base es: "Acá está el texto de prueba", cuando me lo muestra en el HTML me aparece así: "Ac est el texto de prueba").

Este problema lo supe resolver para un servidor montado en mi propia máquina (localhost) para probar (y en concreto, utilicé las funciones mb_internal_encoding y http_output, para setear el character set, incluso setié todo en utf-8, tanto la base de datos como los HTML y los archivos PHP), pero cuando mandamos a subir la aplicación al servidor verdadero (que es remoto y no lo podemos manejar nosotros) vuelve a aparecer ese inconveniente.

Además ocurre que, cuando intento subir un archivo cuyo nombre tiene algún caracter extraño (como por ejemplo, "°") al persistirlo en la base de datos me lo reconoce como si fuese otro caracter distinto y entonces no se puede abrir el archivo porque el nombre no coincide porque la base me lo reconoce con otro caracter.

Algo que me dí cuenta es que yo estoy trabajando en Windows y el servidor en donde está alojada la aplicación está en linux, algo que no sé en qué medida puede repercutir en el error que tengo.

Bueno, escucho sugerencias y agradecería a quién me tire alguna ayuda, jajaja :)

Saludos.
  #2 (permalink)  
Antiguo 18/09/2013, 07:36
 
Fecha de Ingreso: agosto-2013
Mensajes: 150
Antigüedad: 10 años, 8 meses
Puntos: 29
Respuesta: Problema con codificación de caracteres

Prueba una tabla con esta estructura:
Código SQL:
Ver original
  1. CREATE TABLE IF NOT EXISTS `pruebas` (
  2.   `id` INT(11) NOT NULL AUTO_INCREMENT,
  3.   `fecha` DATE DEFAULT NULL,
  4.   `nombre` VARCHAR(20) COLLATE utf8_spanish_ci DEFAULT NULL,
  5.   PRIMARY KEY (`id`)
  6. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci AUTO_INCREMENT=1 ;
  #3 (permalink)  
Antiguo 18/09/2013, 07:41
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Respuesta: Problema con codificación de caracteres

te sugiero que cuando guardes las cosas, lo hagas con caracteres de escape html... en vez de ACÁ lo hagas ACÁ

Porque vas a dar y dar vueltas con la codificación y al final nadie sabe como está codificado tu server, tu página, tu editor, tu BD, y demás....
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...

Etiquetas: caracteres, html, mysql
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 03:00.