Précédent   Forum des professionnels en informatique > PHP > Langage > Fonctions
Fonctions Forum d'entraide sur les fonctions PHP. Avant de poster -> FAQ fonctions et Sources diverses
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/11/2011, 01h52   #1
Membre du Club
 
Avatar de unix27
 
Inscription : septembre 2003
Messages : 281
Détails du profil
Informations personnelles :
Âge : 30

Informations forums :
Inscription : septembre 2003
Messages : 281
Points : 62
Points : 62
Par défaut Convertir le é en é

Bonsoir je fait cette affectation
Code :
 ...$taburl[$i][$k]=$temp3;...
ensuite j’insère la valeur de $taburl[$i][$k] dans un fichier
le problème est que si la variable $temp3 contient des é ils sont inséré dans le fichier (toto.csv) comme ça é
Avez vous des idées sur la fonction adéquate qui fait la conversion
Merci
__________________
unix27 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/11/2011, 01h56   #2
Membre Expert
 
Avatar de Seb33300
 
Homme Sébastien Alfaiate
Développeur Web
Inscription : janvier 2007
Messages : 1 329
Détails du profil
Informations personnelles :
Nom : Homme Sébastien Alfaiate
Âge : 26
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : janvier 2007
Messages : 1 329
Points : 1 657
Points : 1 657
C'est l'encodage de ton fichier qui n'est pas bon.

Lorsque tu ouvre ton fichier avec notepad++ par exemple, va dans "encodage" => "Encoder en UTF-8"
__________________
Zend Certified Engineer PHP 5.3

« Crois-tu comprendre le monde juste en matant le 20H Ou connaître l'histoire en ayant lu que l'angle des vainqueurs ? » Keny Arkana
Seb33300 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2011, 02h14   #3
Membre du Club
 
Avatar de unix27
 
Inscription : septembre 2003
Messages : 281
Détails du profil
Informations personnelles :
Âge : 30

Informations forums :
Inscription : septembre 2003
Messages : 281
Points : 62
Points : 62
Citation:
Envoyé par Seb33300 Voir le message
C'est l'encodage de ton fichier qui n'est pas bon.

Lorsque tu ouvre ton fichier avec notepad++ par exemple, va dans "encodage" => "Encoder en UTF-8"
c'est bon merci il me reste une autre chose c'est que je fais un insert

Code :
1
2
 
INSERT  INTO toto (description) values($description)
le problème est que $description contient un long text avec des ' exemple:
$description= ...d'avance merci...l'équipe... ,du coup la requête s’interprète comme ça :
Code :
1
2
INSERT  INTO toto (description) values( ...d'avance merci...l'équipe...)
et donc j'ai une erreur sql normale...
comment puis je contourné ça plz?
__________________
unix27 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2011, 02h36   #4
Membre Expert
 
Avatar de Seb33300
 
Homme Sébastien Alfaiate
Développeur Web
Inscription : janvier 2007
Messages : 1 329
Détails du profil
Informations personnelles :
Nom : Homme Sébastien Alfaiate
Âge : 26
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : janvier 2007
Messages : 1 329
Points : 1 657
Points : 1 657
Il faut protéger tes variables avec mysql_real_escape_string :

Code :
mysql_query("INSERT INTO toto (description) VALUES ('".mysql_real_escape_string($description)."')")
__________________
Zend Certified Engineer PHP 5.3

« Crois-tu comprendre le monde juste en matant le 20H Ou connaître l'histoire en ayant lu que l'angle des vainqueurs ? » Keny Arkana
Seb33300 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 07/11/2011, 02h50   #5
Membre du Club
 
Avatar de unix27
 
Inscription : septembre 2003
Messages : 281
Détails du profil
Informations personnelles :
Âge : 30

Informations forums :
Inscription : septembre 2003
Messages : 281
Points : 62
Points : 62
Citation:
Envoyé par Seb33300 Voir le message
Il faut protéger tes variables avec mysql_real_escape_string :

Code :
mysql_query("INSERT INTO toto (description) VALUES ('".mysql_real_escape_string($description)."')")
yes c'est bon dernière chose si je ne m'abuse pas
l'insert se fait dans ma table qui a le charset utf8_general_ci par contre les caractères é,è,' ... et compagnie sont mal interprétés dans le table par exemple téléconseillers s"écrit téléconseillers et la liste est longue...avec des mauvais termes en tout cas mauvais orthographiquement

j'ai eu le même souci en voulant extraire les données vers un fichier j'ai résolue la chose avec cette fonction
Code :
1
2
3
4
5
6
7
 
function htmlkarakter($string)
{
   $string = str_replace(array("à", "é", 'ç', ''', 'ô','è', 'ê','°',' ','’','î'), array("à", "é","ç","'",'ô','è','ê',"°"," ","'","î"),      htmlspecialchars_decode($string, ENT_NOQUOTES));
  return $string;
 
}
par contre pour extraire les données vers une base de donnée je ne sais pas comment faire pour qu'ils soient bien interprété?
__________________
unix27 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2011, 09h42   #6
Modérateur
 
Inscription : septembre 2010
Messages : 7 195
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 195
Points : 8 571
Points : 8 571
t'as bien fait un mysql_set_charset ?
de plus dans un Excel ou ouvre pas un CSV mais on importe un CSV, par défaut il ne lit pas l'utf-8
__________________
http://blog.stealth35.com/
stealth35 est actuellement connecté   Envoyer un message privé Réponse avec citation 10
Vieux 07/11/2011, 15h32   #7
Membre du Club
 
Avatar de unix27
 
Inscription : septembre 2003
Messages : 281
Détails du profil
Informations personnelles :
Âge : 30

Informations forums :
Inscription : septembre 2003
Messages : 281
Points : 62
Points : 62
ça marche bien
merci à tous les deux stealth35 et Seb33300
__________________
unix27 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h47.


 
 
 
 
Partenaires

Hébergement Web