Bien utiliser mysql_query('SET NAMES UTF8')

Messages postés
73
Date d'inscription
vendredi 8 avril 2005
Statut
Membre
Dernière intervention
17 janvier 2012
- - Dernière réponse : cs_ghuysmans99
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
- 20 janv. 2012 à 17:21
Bonjour,

Mon site ramant un peu j'ai fait une analyse de performances et voici deux conclusions :
- 30,9 % du temps d'exécution est passé dans la requête mysql_connect($this->host,$this->utilisateur,$this->motdepasse);
- 29,8 % du temps d'exécution est passé dans la requête mysql_query('SET NAMES UTF8');
Ca m'embête beaucoup car je ne vois pas du tout comment supprimer ces fonctions... Si mysql_connect mange tant de durée c'est parceque c'est fait à chaque requête MySQL : en effet toutes les requêtes ne sont pas envoyées à la même base de données.
Pour ce qui est de mysql_query('SET NAMES UTF8'); c'est également fait pour chaque requête, mais est-ce vraiment nécessaire ? Il faut savoir qu'une pour chaque requête : on se connecte à la bonne base de donnée, je fais un mysql_query('SET NAMES UTF8'); et la requête est envoyée puis on ne se déconnecte pas.
C'est un PB épineux pour moi j'espère que vous saurez me conseiller.
Merci beaucoup,

KJM
Afficher la suite 

2 réponses

Messages postés
73
Date d'inscription
vendredi 8 avril 2005
Statut
Membre
Dernière intervention
17 janvier 2012
0
Merci
Pour info :
Dans ma page HTML on a <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />, la plupart de mes champs de BDD sont en utf8_unicode_ci mais il y en a certains en utf8_unicode_ci
Merci

KJM
Commenter la réponse de jmp kjm
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
11
0
Merci
Tu peux stocker l'id de ta connexion dans une variable pour ne pas ouvrir/fermer sans arrêt les BDD ...
mysql_query('SET NAMES UTF8'); permet de dire à MySQL que les chaines dans les SQL sont en UTF8 et pas en ANSI.

VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
Commenter la réponse de cs_ghuysmans99