tengo una base de datos en postgre , en la k se insertan nombres y apellidos, y posteriormente se solicitan datos extra usanso como referncia , el nombre y los apellidos, el problema son los caracteres especiales (vocales acentuadas ,Ñ), hice 1 modulo k deberia estandarizar los nombres (2 versiones, con el caracter, y con entidades)
Con entidades:
Código PHP:
function reemplazo($cadena, $c, $r){
for($i=0;$i<strlen($cadena);$i++){
if ($cadena{$i}==$c){
$cadena{$i}=$r;}}
return ($cadena);
}
function arreglar($cadena){
$cadena=reemplazo($cadena, 'à', 'A');
$cadena=reemplazo($cadena, 'á', 'A');
$cadena=reemplazo($cadena, 'ã', 'A');
$cadena=reemplazo($cadena, 'â', 'A');
$cadena=reemplazo($cadena, 'À', 'A');
$cadena=reemplazo($cadena, 'Á', 'A');
$cadena=reemplazo($cadena, 'Ã', 'A');
$cadena=reemplazo($cadena, 'Â', 'A');
$cadena=reemplazo($cadena, 'è', 'E');
$cadena=reemplazo($cadena, 'é', 'E');
$cadena=reemplazo($cadena, '&etilde;', 'E');
$cadena=reemplazo($cadena, 'ê', 'E');
$cadena=reemplazo($cadena, 'È', 'E');
$cadena=reemplazo($cadena, 'É', 'E');
$cadena=reemplazo($cadena, '&Etilde;', 'E');
$cadena=reemplazo($cadena, 'Ê', 'E');
$cadena=reemplazo($cadena, 'ì', 'I');
$cadena=reemplazo($cadena, 'í', 'I');
$cadena=reemplazo($cadena, 'ĩ', 'I');
$cadena=reemplazo($cadena, 'î', 'I');
$cadena=reemplazo($cadena, 'Ì', 'I');
$cadena=reemplazo($cadena, 'Í', 'I');
$cadena=reemplazo($cadena, 'Ĩ', 'I');
$cadena=reemplazo($cadena, 'Î', 'I');
$cadena=reemplazo($cadena, 'ò', 'O');
$cadena=reemplazo($cadena, 'ó', 'O');
$cadena=reemplazo($cadena, 'õ', 'O');
$cadena=reemplazo($cadena, 'ô', 'O');
$cadena=reemplazo($cadena, 'Ò', 'O');
$cadena=reemplazo($cadena, 'Ó', 'O');
$cadena=reemplazo($cadena, 'Õ', 'O');
$cadena=reemplazo($cadena, 'Ô', 'O');
$cadena=reemplazo($cadena, 'ù', 'U');
$cadena=reemplazo($cadena, 'ú', 'U');
$cadena=reemplazo($cadena, 'ũ', 'U');
$cadena=reemplazo($cadena, 'û', 'U');
$cadena=reemplazo($cadena, 'Ù', 'U');
$cadena=reemplazo($cadena, 'Ú', 'U');
$cadena=reemplazo($cadena, 'Ũ', 'U');
$cadena=reemplazo($cadena, 'Û', 'U');
$cadena=reemplazo($cadena, 'ñ', 'N');
$cadena=reemplazo($cadena, 'Ñ', 'N');
$cadena=strtoupper($cadena);
return($cadena);
}
Código PHP:
function reemplazo($cadena,$c,$r){
for($i=0;$i<strlen($cadena);$i++){
if ($cadena{$i}==$c){
$cadena{$i}=$r;}}
return $cadena;
}
function arreglar($cadena){
$cadena=reemplazo($cadena,'à','A');
$cadena=reemplazo($cadena,'á','A');
$cadena=reemplazo($cadena,'ä','A');
$cadena=reemplazo($cadena,'â','A');
$cadena=reemplazo($cadena,'À','A');
$cadena=reemplazo($cadena,'Á','A');
$cadena=reemplazo($cadena,'Ä','A');
$cadena=reemplazo($cadena,'Â','A');
$cadena=reemplazo($cadena,'è','E');
$cadena=reemplazo($cadena,'é','E');
$cadena=reemplazo($cadena,'ë','E');
$cadena=reemplazo($cadena,'ê','E');
$cadena=reemplazo($cadena,'È','E');
$cadena=reemplazo($cadena,'É','E');
$cadena=reemplazo($cadena,'Ë','E');
$cadena=reemplazo($cadena,'Ê','E');
$cadena=reemplazo($cadena,'ì','I');
$cadena=reemplazo($cadena,'í','I');
$cadena=reemplazo($cadena,'ï','I');
$cadena=reemplazo($cadena,'î','I');
$cadena=reemplazo($cadena,'Ì','I');
$cadena=reemplazo($cadena,'Í','I');
$cadena=reemplazo($cadena,'Ï','I');
$cadena=reemplazo($cadena,'Î','I');
$cadena=reemplazo($cadena,'ò','O');
$cadena=reemplazo($cadena,'ó','O');
$cadena=reemplazo($cadena,'ö','O');
$cadena=reemplazo($cadena,'ô','O');
$cadena=reemplazo($cadena,'Ò','O');
$cadena=reemplazo($cadena,'Ó','O');
$cadena=reemplazo($cadena,'Ö','O');
$cadena=reemplazo($cadena,'Ô','O');
$cadena=reemplazo($cadena,'ù','U');
$cadena=reemplazo($cadena,'ú','U');
$cadena=reemplazo($cadena,'ü','U');
$cadena=reemplazo($cadena,'û','U');
$cadena=reemplazo($cadena,'Ù','U');
$cadena=reemplazo($cadena,'Ú','U');
$cadena=reemplazo($cadena,'Ü','U');
$cadena=reemplazo($cadena,'Û','U');
$cadena=reemplazo($cadena,'Ñ','N');
$cadena=reemplazo($cadena,'ñ','N');
$cadena=strtoupper($cadena);
}