Ver Mensaje Individual
  #4 (permalink)  
Antiguo 27/09/2011, 03:24
Avatar de Mikimoto74
Mikimoto74
 
Fecha de Ingreso: enero-2005
Mensajes: 88
Antigüedad: 19 años, 11 meses
Puntos: 2
Respuesta: Problema con utf8 que no puedo resolver

Hola jesusbg:
La base de datos, sus tablas y los campos, están todos codificados como
utf8_general_ci

y la página web tiene el siguiente meta para la codificación:
<meta http-equiv="content-type" content="text/html; charset=utf-8" />

Por cierto, el segundo problema que he puesto, el de los saltos de línea, ni caso. Resulta que el texto pasaba dos veces por la función mysql_real_escape_string() y por eso el \r\n lo tomaba como texto plano.

Aún me queda este tema de la codificación. Se me ocurre que en vez de usar:
ucfirst(strtolower(...))

podría formatear el texto con CSS. Con eso me imagino que solucionaría el problema. Pero por otro lado, creo que sería mejor forzar a que el texto introducido por el usuario se almacene tal cual en la base de datos, sin que sufra modificación de ñ a ñ por ejemplo. No sé si es porque se está usando utf8_general_ci en vez de utf8_unicode_ci. El caso es que solo hago lo siguiente a los textos enviados por el usuario antes de realizar la inserción o actualización en la BD:
mysql_real_escape_string(strip_tags(stripslashes(. ..)))
Es algo de esto lo que convierte las ñ en ñ?