Comunidad de diseño web y desarrollo en internet online

UTF-8 y cotejamiento en la DB

Ir a página Anterior  1, 2

Foros de discusión > PHP y MySQL

Citar            
MensajeEscrito el 11 Sep 2013 10:13 pm
Me he dado cuenta del error, es problema de que cojo ciertas cosas de la url y la ñ por ejemplo se me pone como: %c3%b1% y por eso no me reconoce las ñ. Igual me pasa con las tildes

Por napemi

8 de clabLevel



 

firefox
Citar            
MensajeEscrito el 08 Feb 2015 01:49 pm
Si alguien tiene este tipo de problemas con el documento de conexion, pueden usar éste:

<?php

$host='localhost';
$user='root';
$password='clave';
$db='basedatos';
$conexion=mysqli_connect($host,$user,$password) or die('Error en la Conexion al Servidor');
mysqli_select_db($conexion,$db)or die('Error al Conectar con la DB');
mysqli_query($conexion,"SET NAMES 'UTF8'");
?>

Me anda perfecto y con cero panas en la ruta ;)

Por RicardoIII

13 de clabLevel



Genero:Masculino  

Diseñador y desarrollador Web

chrome
Citar            
MensajeEscrito el 03 Abr 2015 01:53 am
He tenido todo tipo de problemas de este tipo, la solución final fue verificar en todos los trabajos que hago los siguientes puntos:

1. Cada archivo tiene que estar en utf-8
2. La cabecera del html tiene que figurar la codificacion en utf-8
3. Todas las codificaciones de la base de datos tienen que estar en utf-8
4. La cabecera del http tiene que estar en utf-8, podes hacerlo con el siguiente codigo:

header("Content-type: text/html; charset=utf-8");(tiene que estar al principio del script antes que se envíe cualquier caracter al navegador, incluso un espacio)

5. La configuración interna de php tiene que estar en utf-8, para ello tenes que agregar el siguiente codigo al principio del script principal:
mb_internal_encoding("UTF-8");
mb_http_output("UTF-8");
mb_regex_encoding("UTF-8");
mb_detect_order("UTF-8");
ob_start("mb_output_handler");

6. A veces la coneccion de php con mysql está en otra codificacion de caracteres y no hay forma de modificarlo, para eso se agrega una linea justo luego de la coneccion con la base de datos:

$con=mysql_connect($host, $user, $pwd);
$db_mysql=mysql_select_db($db, $con);
mysql_query('SET NAMES \'utf8\'');

Con esto nunca más he tenido problemas en la codificación de caracteres

Por GeniosWeb

8 de clabLevel



Genero:Masculino  

Webmaster, SEO, Publicista

chrome
Citar            
MensajeEscrito el 06 Abr 2015 12:11 pm
GeniosWeb:
Lo has resumido bastante bien :)

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 02 Jun 2015 05:58 am
Gracias

Por GeniosWeb

8 de clabLevel



Genero:Masculino  

Webmaster, SEO, Publicista

chrome
Citar            
MensajeEscrito el 01 Sep 2015 05:56 pm
Espero que esto sirva ..

Código PHP :

function to_utf8( $string ) { 
// From http://w3.org/International/questions/qa-forms-utf-8.html 
    if ( preg_match('%^(?: 
      [\x09\x0A\x0D\x20-\x7E]            # ASCII 
    | [\xC2-\xDF][\x80-\xBF]             # non-overlong 2-byte 
    | \xE0[\xA0-\xBF][\x80-\xBF]         # excluding overlongs 
    | [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2}  # straight 3-byte 
    | \xED[\x80-\x9F][\x80-\xBF]         # excluding surrogates 
    | \xF0[\x90-\xBF][\x80-\xBF]{2}      # planes 1-3 
    | [\xF1-\xF3][\x80-\xBF]{3}          # planes 4-15 
    | \xF4[\x80-\x8F][\x80-\xBF]{2}      # plane 16 
)*$%xs', $string) ) { 
        return $string; 
    } else { 
        return iconv( 'CP1252', 'UTF-8', $string); 
    } 
}

Por alffa

276 de clabLevel



 

Mi casa o mi trabajo...depende (México)

chrome
Ir a página Anterior  1, 2
Foros de discusión > PHP y MySQL

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.