|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |||
|
Membre confirmé
![]() Webmaster Inscription : juin 2005 Messages : 131 ![]() |
Bonjour,
je suis entrain d'installer un server Debian squeeze avec apache et mysql. Lors de l'installation j'ai bien pensé à faire tous les changements pour l'UTF8 (voir ce tuto) Donc : - mes fichiers ont la balise méta : <meta http-equiv="content-type" content="text/html; charset=utf-8" /> - mes fichiers sont bien encodés avec UTF-8 sans bom - AddDefaultCharset UTF-8 pour apache dans /etc/apache2/conf.d/charset - mes tables mysql sont en utf8_general_ci - Interclassement au niveau de la base de données entière est en utf8_general_ci - Pour php j'ai rajouté cela dans le php.ini : Code :
Citation:
Le problème se situe au niveau de mysql. Dès que je récupère des valeurs dans mes tables (qui sont bien en utf8) et que je les affiches j'ai le droit à des caractères dans ce style " � ". A partir de là, je comprends bien que mes valeurs récupérer sont en iso. Alors du coup je décide de mettre : SET NAMES "utf8"; avant ma requête et la plus de souci (ça confirme qu'il ne me renvoyais pas d'UTF8). 1- Est ce que l'on est obligé de mettre SET NAMES "utf8" ? car il me semblait qu'avec tous les réglages que j'ai fait je devrais l'avoir par defaut. 2 - Est-ce que c'est le contenu de mes champs qui sont en iso ? je comprends pas... Merci pour votre aide. |
|||
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() Eric DureuilDéveloppeur informatique Inscription : avril 2011 Messages : 1 802 ![]() |
salut,
tiens moi aussi j'expérimente la grande joie de faire ça... ![]() oui c'est du à la configuration du drivers mysql (mysql, pdo, mysqli) qui selon la version de php reste sur latin1 par défaut, ce qui oblige à faire ça...(ou son équivalent dans pdo) php et mysql sont anciens dans cette version de debian, ils datent d' il y a plusieurs années... à savoir que dans cette version de mysql 5.1 tu utilises de l'utf8 limité à 3 octets maximum, l'utfmb4 n'est disponible qu'à partir de la version 5.5 passe à debian 7.0 si tu veux bénéficier de l'utf8 réglable et utilisable par défaut sans "set names"
__________________
soyons pensez à mettre quand votre problème est résolu ou à utiliser pour les réponses pertinentes...ne posez pas de problématique soi-disant simplifiée sur des problèmes que vous n'êtes pas capable de résoudre par respect pour ceux qui planchent dessus... sinon: et à utiliser pour insérer votre code...
|
|
|
20
|
|
|
#3 |
|
Membre confirmé
![]() Webmaster Inscription : juin 2005 Messages : 131 ![]() |
Ok, merci bien pour cette explication.
Du coup je vais utiliser SET NAMES "utf8" en attendant d'avoir une version stable de debian 7 (j'ai vu que ça va pas tarder). Je trouve cela quand même étonnant que l'on ne peut pas modifier ce paramètre ? et pourquoi c'est le latin par défaut ? Enfin bon si tu me dis que c'est normal ça me rassure car là je ne voyais pas de solution. |
|
|
00
|
|
|
#4 |
|
Expert Confirmé
![]() Eric DureuilDéveloppeur informatique Inscription : avril 2011 Messages : 1 802 ![]() |
c'est à cause du choix de l'existence des latinx: un encodade sur 1 à 2 octets maxi au lieu de 1 à 6 pour encoder l'unicode (qui utilise 4 octets de base ou 2 dans sa version limitée) et en plus avant les sites n'étaient quasiment jamais multilingue ou n'en mixait pas dans une même page. et pour finir ça fait que 4 ou 5 ans que tous les navigateur prennent en charge l'utf8 de base sans extension...
donc dans les début du web et jusqu'à ce que l'adsl se démocratise ça avait son intérêt... et l'évolution en info ça prend du temps... tu as bien des gens qui utilisent des technologie qui ont plus de 5 ans (par exemple, y a bien des gars qui installe encore des debian lenny parce que tu trouves facilement les tutoriels et que certains hébergeurs la propose encore...) mais c'est bien les réglages que tu as fait car tu n'es pas forcé de générer normalement d'entête pour le charset vu que le serveur apache le fait
__________________
soyons pensez à mettre quand votre problème est résolu ou à utiliser pour les réponses pertinentes...ne posez pas de problématique soi-disant simplifiée sur des problèmes que vous n'êtes pas capable de résoudre par respect pour ceux qui planchent dessus... sinon: et à utiliser pour insérer votre code...
|
|
|
00
|
|
|
#5 |
|
Membre confirmé
![]() Webmaster Inscription : juin 2005 Messages : 131 ![]() |
Ok merci bien pour toute ses précisions.
Bonne continuation. |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com