Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/03/2012, 04:23
Avatar de protoameeba
protoameeba
 
Fecha de Ingreso: septiembre-2005
Mensajes: 195
Antigüedad: 19 años, 2 meses
Puntos: 3
Información Aporte para codificacion UTF8

Hola chavales,

Muchas veces nos porculea el UTF8, que si la base de datos, que si la codificacion de la pagina, que si el dia no es soleado, jejeje... hay muchas soluciones, causas y porques, como :

Código PHP:
Ver original
  1. header ('Content-type: text/html; charset=utf-8');
  2. //////////////////////////////////////////////////////////////////////////////
  3. mysql_query ("SET NAMES utf8");
  4. //////////////////////////////////////////////////////////////////////////////
  5. mysql_query("mysql_set_charset_name(&mysql, 'utf8')");
  6. //////////////////////////////////////////////////////////////////////////////
  7. $tuvariable= iconv('ASCII', 'UTF-8//TRANSLIT', $tuvariable);
  8. //////////////////////////////////////////////////////////////////////////////

y un laaaargo etc

(dejo ahi arriba esos hilos por si alguien quiere seguirlos...)

He generado una funcion que puede ser de gran utilidad para acabar con el problemita de los co#*nes !


Obviamente se pueden agregar más simbolitos raros, yo creo que si alguien se pone hasta se puede codificar el idioma klingon, yo paso



Código PHP:
Ver original
  1. function sanear_string($string)
  2. {
  3.  
  4.     $string = trim($string);
  5.  
  6.     $string = str_replace(
  7.         array('á', 'à', 'ä', 'â', 'ª', 'Á', 'À', 'Ä', 'Â'),
  8.         array('á', 'à', 'ä', 'â', 'ª', 'Á', 'À', 'Ä', 'Â'),
  9.         $string
  10.     );
  11.  
  12.     $string = str_replace(
  13.         array('é', 'è', 'ë', 'ê', 'É', 'È', 'Ë', 'Ê'),
  14.         array('é', 'è', 'ë', 'ê', 'É', 'È', 'Ë', 'Ê'),
  15.         $string
  16.     );
  17.  
  18.     $string = str_replace(
  19.         array('í', 'ì', 'ï', 'î', 'Í', 'Ì', 'Ï', 'Î'),
  20.         array('í', 'ì', 'ï', 'î', 'Í', 'Ì', 'Ï', 'Î'),
  21.         $string
  22.     );
  23.  
  24.     $string = str_replace(
  25.         array('ó', 'ò', 'ö', 'ô', 'Ó', 'Ò', 'Ö', 'Ô'),
  26.         array('ó', 'ò', 'ö', 'ô', 'Ó', 'Ò', 'Ö', 'Ô'),
  27.         $string
  28.     );
  29.  
  30.     $string = str_replace(
  31.         array('ú', 'ù', 'ü', 'û', 'Ú', 'Ù', 'Ü', 'Û'),
  32.         array('ú', 'ù', 'ü', 'û', 'Ú', 'Ù', 'Ü', 'Û'),
  33.         $string
  34.     );
  35.  
  36.     $string = str_replace(
  37.         array('ñ', 'Ñ', 'ç', 'Ç'),
  38.         array('ñ', '&Ntilde', 'ç', 'Ç',),
  39.         $string
  40.     );
  41.  
  42.     return $string;
  43. }


Para lo que yo lo uso es para detectar si el usuario ha puesto algun caracter "raruno" traducirlo a ascii para poder guardarlo en base de datos y recuperarlo despues y que salga legible para el idioma en cuestion!

y pongo un ejemplo facil sencillo y pa toa la familia de como implementarlo:

Código PHP:
Ver original
  1. $name = $_POST['name'];
  2. $finalName = sanear_string($name);


Espero ser de ayuda para algunos de vosotros!
Saludos!

__________________
Ser libre no es hacer lo ke uno kiere, sino kerer lo ke uno hace....