PHP-MySQL et UTF-8
11 messages • Page 1 sur 1
Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics
PHP-MySQL et UTF-8
Bonjour,
Je suis actuellement en train de passer un de mes sites entièrement en UTF-8 venant d'ISO je n'ai jamais eu de gros souci jusqu'à maintenant...
Il y a de plus en plus de monde qui poste des articles et certains utilisent des caractères non reconnus par ISO donc j'ai choisi d'aller sur un format de donnée plus large.
Ma question est simple, lorsque je rentre un é ou un è dans ma base de donnée, qu'est ce qui sera finalement affiché dedans ? é ou é ou encore autre chose ?
Je me pose la question car avec Notepad++ par exemple il suffit de mettre en UTF-8 sans Bom sans pour autant avoir besoin de mettre des é dans le fichier. Si je vais sur un site utf-8 que je connais, je met afficher la source, il affichera pleins de é alors que ce site est statique
Bref je ne sais pas si je suis assez clair, si ce n'est pas le cas veuillez me le dire et je tacherais d'expliquer un peu mieux mon "problème"
Je suis actuellement en train de passer un de mes sites entièrement en UTF-8 venant d'ISO je n'ai jamais eu de gros souci jusqu'à maintenant...
Il y a de plus en plus de monde qui poste des articles et certains utilisent des caractères non reconnus par ISO donc j'ai choisi d'aller sur un format de donnée plus large.
Ma question est simple, lorsque je rentre un é ou un è dans ma base de donnée, qu'est ce qui sera finalement affiché dedans ? é ou é ou encore autre chose ?
Je me pose la question car avec Notepad++ par exemple il suffit de mettre en UTF-8 sans Bom sans pour autant avoir besoin de mettre des é dans le fichier. Si je vais sur un site utf-8 que je connais, je met afficher la source, il affichera pleins de é alors que ce site est statique
Bref je ne sais pas si je suis assez clair, si ce n'est pas le cas veuillez me le dire et je tacherais d'expliquer un peu mieux mon "problème"
Euh, mon site est en UTF-8 et si je met "é" le caractère n'est pas reconnu alors que é devient "é" donc je ne suis pas certains de ce que tu dis.
@mikaweb, perso pour l'affichage de texte provenant d'une base de données (où les "é" apparaissent bien "é"), j'utilise la fonction preg_replace pour changer le "é" en é et pas de soucis, j'ai mis tout les caractères que je connais et je n'ai plus à y penser.
@mikaweb, perso pour l'affichage de texte provenant d'une base de données (où les "é" apparaissent bien "é"), j'utilise la fonction preg_replace pour changer le "é" en é et pas de soucis, j'ai mis tout les caractères que je connais et je n'ai plus à y penser.
Oui mais le but serait que je n'y ait même pas à y penser...
Si un mec met un signe que je n'ai pas mis dans mon preg_replace sa fout le bordel....
J'aimerais une gestion automatique, un simple utf8_encode avant d'envoyer dans la bdd ne suffit pas ?
Si un mec met un signe que je n'ai pas mis dans mon preg_replace sa fout le bordel....
J'aimerais une gestion automatique, un simple utf8_encode avant d'envoyer dans la bdd ne suffit pas ?
La c'est hors de mes compétences, je t'ai donné la soluce que j'utilise car c'est uniquement pour afficher mes news que j'en ai besoin donc j'ai pas de caractères "éxotiques" puisque je suis le seul à poster.
Je traite a la sortie de la BDD en fait, pas à l'entrée.
Je traite a la sortie de la BDD en fait, pas à l'entrée.
-

gael@aventure - Nouveau WRInaute
- Messages: 45
- Inscription: Sam Nov 04, 2006 1:57
mikaweb a écrit: un simple utf8_encode avant d'envoyer dans la bdd ne suffit pas ?
Bonjour,
J'ai envie de te dire, essaie
Mais je pense tu es sur la bonne voie
Suis pas un pro de l'utf8 mais je sais aussi que pour l'affichage correct il vaut mieux convertir tes fichiers à la main avec bloc note par exemple.
fichier > enregistrer sous >sélection du codage
Enfin et surtout bien déclarer tes entêtes et ta balise Meta charset
Bon courage
Si Apache2 est configuré en utf-8 ce qui est le cas par défaut, un simple :
Oublie pas aussi avec phpmyadmin par ex, de modifier l'interclassement des tables ( moi j'ai utf8_general_ci )
- Code: Tout sélectionner
mysql_connect('XX','XX','XX');
mysql_select_db('XX');
mysql_query("SET NAMES 'utf8'");
Oublie pas aussi avec phpmyadmin par ex, de modifier l'interclassement des tables ( moi j'ai utf8_general_ci )
SET NAMES indique ce qui est dans la commande SQL que le client envoie. Par conséquent, SET NAMES cp1251 indique au serveur : ``les futurs messages fournis par ce client seront dans le jeu de caractères cp1251'' et le serveur est libre de les traduire dans son propre jeu de caractères, éventuellement.
mikaweb a écrit:Si un mec met un signe que je n'ai pas mis dans mon preg_replace sa fout le bordel....
a moins d'avoir un site a connotation international sinon je ne vois pas l'interet de passer en utf8. Nous sommes en terre latine
Si tu recois des données 'bizarre', commence pas voir le charset de tes documents.
Les données qui sont a passer dans un langage plus international sont celles qui s'adressent aux moteurs internationaux. Donc la balise title et le meta description ou tout les caractereres spéciaux doivent etre passer en iso.
J'ai passé tous mes sites en utf8 et je n'ai aucun problème maintenant que j'ai compris comment le gérer. Plus de prises de tête avec les accents, on peut rentrer n'importe quel caractère comme tel.
Pourquoi rester en iso quand il est tellement facile de passer à lutf. Vivement que tout le monde y passe et qu`on oublie ces pb archaïques de caractères
Pourquoi rester en iso quand il est tellement facile de passer à lutf. Vivement que tout le monde y passe et qu`on oublie ces pb archaïques de caractères
Chacho a écrit:J'ai passé tous mes sites en utf8 et je n'ai aucun problème maintenant que j'ai compris comment le gérer. Plus de prises de tête avec les accents, on peut rentrer n'importe quel caractère comme tel.
Pourquoi rester en iso quand il est tellement facile de passer à lutf. Vivement que tout le monde y passe et qu`on oublie ces pb archaïques de caractères
Je comprend bien. Si demain j'ai un nouveau projet, pas de probleme car un simple CREATE DATABASE projet CHARACTER SET UTF8 me suffira... mais de la à repasser mes sites en utf8, je vois pas du tout l'interet, en plus je me vois mal rajouter des mb_ devant mes fonctions de chaines...
Par contre je suis d'accord que le futur appartient a l'utf8
11 messages • Page 1 sur 1
Formation recommandée sur ce thème :
Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- La calculatrice de Google
- Tiret ou underscore ? Enfin la réponse !
- Google indexe le Flash
- Google News : trucs et astuces
- Gestion des langues et des sessions en PHP / MySQL
- Google affiche des liens vers des plans de villes
- Google tente d'expliquer le Google Bombing 'Failure'
- Google traque les colis UPS ou FedEx
- Google Images cherche dans l'actualité
- Google ajoute la Navigation par nom dans sa Toolbar
- [PHP-MySQL] : argument is not a valid MySQL ressource
- Expression régulière & UTF-8 (Javascript & PHP)
- Compatibilité PHP 4.4.2 -> PHP 5.1.6 et MySQL 3.23 ->
- PHP 4 - Mysql 4.x VS PHP 5 - Mysql 5
- MYSQL/PHP
- PHP et Mysql
- MySQL PHP
- injection mysql et php
- Formulaire php et mysql
- tri (mysql ou php)
- Optimisation php/mysql
- Webmail php/mysql
- site php/mysql
- PHP/MySql > Clause LIKE ...
- PHP Ajouts mysql
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités







le forum