par
stefane321 » 19 mai 2008, 16:49
Bonjour,
Il m'arrive trop souvent que lorsque je développe le site d'un client en local les caractères accentués deviennent tous étrange a cause de la différence d'encodage de la BD du serveur du client.
D'habitude je corrige tout à la main.
Mais c'est parfois assez long!
Donc, je veux me faire une fonction qui change les caractères accentués en code html avant de les enregistrer dans la bd.
J'ai essasé ceci:
Fonction:
function change_caract_speciaux($var)
{
$car_speciaux = array( 'À', 'Á', 'Â', 'Ã', 'Ä', 'Å', 'Æ', 'à', 'á', 'â', 'ã', 'ä', 'å', 'æ', 'È', 'É', 'Ê', 'Ë', 'è', 'é', 'ê', 'ë', 'Ì', 'Í', 'Î', 'Ï', 'ì', 'í', 'î', 'ï', 'Ò', 'Ó', 'Ô', 'Õ', 'Ö', 'Ø', 'ò', 'ó', 'ô', 'õ', 'ö', 'ø', 'Ù', 'Ú', 'Û', 'Ü', 'ù', 'ú', 'û', 'ü', 'ß', 'Ç', 'ç', 'Ð', 'ð', 'Ñ', 'ñ', 'Þ', 'þ', 'Ý' );
$car_speciaux = array( 'À', 'Á', 'Â', 'ÃL;', 'Ä', 'Å', 'Æ', 'à', 'á', 'â', 'ã', 'ä', 'å', 'æ', 'È', 'É', 'Ê', 'Ë', 'è', 'é', 'ê', 'ë', 'Ì', 'Í', 'Î', 'Ï', 'ì', 'í', 'î', 'ï', 'Ò', 'Ó', 'Ô', 'Õ', 'Ö', 'Ø', 'ò', 'ó', 'ô', 'õ', 'ö', 'ø', 'Ù', 'Ú', 'Û', 'Ü', 'ù', 'ú', 'û', 'ü', 'ß', 'Ç', 'ç', 'Ð', 'ð', 'Ñ', 'ñ', 'Þ', 'þ', 'Ý' );
$var= str_replace($car_speciaux, $car_normaux, $var);
return $var;
}
Utilisation de ma fonction dans ma requête:
$sqlquery="INSERT INTO photos_categories VALUES('','".change_caract_speciaux(addslashes($_POST["nom_FR"]))."','".change_caract_speciaux(addslashes($_POST["description_FR"]))."','','','".addslashes($_POST["ord_affiche"])."','')" or die("Table introuvable");
Je ne recois aucun message d'erreur mais mes caractères ne sont pas changé.
Voyez-vous où est mon erreur???
Merci!
Bonjour,
Il m'arrive trop souvent que lorsque je développe le site d'un client en local les caractères accentués deviennent tous étrange a cause de la différence d'encodage de la BD du serveur du client.
D'habitude je corrige tout à la main.
Mais c'est parfois assez long!
Donc, je veux me faire une fonction qui change les caractères accentués en code html avant de les enregistrer dans la bd.
J'ai essasé ceci:
Fonction:
[php]function change_caract_speciaux($var)
{
$car_speciaux = array( 'À', 'Á', 'Â', 'Ã', 'Ä', 'Å', 'Æ', 'à', 'á', 'â', 'ã', 'ä', 'å', 'æ', 'È', 'É', 'Ê', 'Ë', 'è', 'é', 'ê', 'ë', 'Ì', 'Í', 'Î', 'Ï', 'ì', 'í', 'î', 'ï', 'Ò', 'Ó', 'Ô', 'Õ', 'Ö', 'Ø', 'ò', 'ó', 'ô', 'õ', 'ö', 'ø', 'Ù', 'Ú', 'Û', 'Ü', 'ù', 'ú', 'û', 'ü', 'ß', 'Ç', 'ç', 'Ð', 'ð', 'Ñ', 'ñ', 'Þ', 'þ', 'Ý' );
$car_speciaux = array( 'À', 'Á', 'Â', 'ÃL;', 'Ä', 'Å', 'Æ', 'à', 'á', 'â', 'ã', 'ä', 'å', 'æ', 'È', 'É', 'Ê', 'Ë', 'è', 'é', 'ê', 'ë', 'Ì', 'Í', 'Î', 'Ï', 'ì', 'í', 'î', 'ï', 'Ò', 'Ó', 'Ô', 'Õ', 'Ö', 'Ø', 'ò', 'ó', 'ô', 'õ', 'ö', 'ø', 'Ù', 'Ú', 'Û', 'Ü', 'ù', 'ú', 'û', 'ü', 'ß', 'Ç', 'ç', 'Ð', 'ð', 'Ñ', 'ñ', 'Þ', 'þ', 'Ý' );
$var= str_replace($car_speciaux, $car_normaux, $var);
return $var;
}[/php]
Utilisation de ma fonction dans ma requête:
[php]$sqlquery="INSERT INTO photos_categories VALUES('','".change_caract_speciaux(addslashes($_POST["nom_FR"]))."','".change_caract_speciaux(addslashes($_POST["description_FR"]))."','','','".addslashes($_POST["ord_affiche"])."','')" or die("Table introuvable");[/php]
Je ne recois aucun message d'erreur mais mes caractères ne sont pas changé.
Voyez-vous où est mon erreur???
Merci!