Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/09/2011, 19:20
Avatar de cristian_cena
cristian_cena
Colaborador
 
Fecha de Ingreso: junio-2009
Mensajes: 2.244
Antigüedad: 15 años, 5 meses
Puntos: 269
problemas con codificación de caracteres y mcrypt

Hola compañeros.

Resulta que estoy encriptando datos con mcrypt pero no puedo almacenar estos datos en una base de datos mysql, la cual posee cotejamiento utf8_general_ci

Probé de todo ya, de poner los archivos .php en ansi, en utf8, en utf8-sin-bom, etc. Pero no hay caso, se almacenan algunos caracteres solamente, e incluso quedan campos vacíos.

Tengo montado esto en un desarrollo con mvc, pero este código de ejemplo puede ser útil para ilustrar el caso:
Código PHP:
<?php
$clave 
"clave";
$texto "Texto base para encriptar";

echo 
"<b>Texto Original:</b> " $texto "\n<p>";

function 
encripta($key$text){
    
$iv_size mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256MCRYPT_MODE_ECB);
    
$iv mcrypt_create_iv($iv_sizeMCRYPT_RAND);
    
    
$crypttext mcrypt_encrypt(MCRYPT_RIJNDAEL_256$key$text,MCRYPT_MODE_ECB$iv);
    return 
$crypttext;
}
function 
desencripta($key,$crypttext){
    
$iv_size mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256MCRYPT_MODE_ECB);
    
$iv mcrypt_create_iv($iv_sizeMCRYPT_RAND);

    
$decrypttext mcrypt_decrypt(MCRYPT_RIJNDAEL_256$key$crypttext,MCRYPT_MODE_ECB$iv);
    return 
$decrypttext;
}

$texto_encriptado encripta($clave$texto);
echo 
"<b>Encrypted Text: </b>" $texto_encriptado "<br />";

echo 
"<b>UnEncrypted Text: </b>" desencripta($clave$texto_encriptado);
?>
¿Como debo tratar la codificacion de caracteres para este caso, les ha pasado alguna vez?
Les agradezco de antemano su ayuda.