utf8 et htmlentities

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : utf8 et htmlentities

Re: utf8 et htmlentities

par bulldawg11 » 30 sept. 2009, 17:41

Merci, vous m'avez mis sur la voie ;-)

Problème résolu.
En fait j'utilise l'extension mysqli, qui ne tiens pas compte des configs my.cnf. Du coup le charset par défaut n'était pas bon.

Une très bonne chose de faite, merci pour votre réactivité

Re: utf8 et htmlentities

par Dr@ke » 30 sept. 2009, 17:12

Et avec ce header en début de page:
header('Content-Type: text/html; charset=UTF-8');

Re: utf8 et htmlentities

par stopher » 30 sept. 2009, 17:11

Ton navigateur affiche tes pages avec quel encodage ?

Tes nouveaux enregistrements sont maintenant correct ou pas ?

Re: utf8 et htmlentities

par Invité » 30 sept. 2009, 17:00

Stopher, ton outil est génial, par contre, cela n'a malheureusement rien changé à mon problème.
Les caractères apparaissent bien sur mon client MySQL, par contre, j'ai toujours des � sur mon navigateur...

EV

Re: utf8 et htmlentities

par bulldawg11 » 30 sept. 2009, 16:41

Ce n'est pas le problème des htmlentities...J'aimerais justement pouvoir m'en passer !

EV

Re: utf8 et htmlentities

par stopher » 30 sept. 2009, 16:40

J'ai créé un outil me permettant de convertir mes tables ..

vraiment vite fait , mais ça a fonctionné .

Nécessite PDO

http://lindev.fr/public/PHP/alter-0.1b.tar.gz

Trés simple à utiliser ... ( d'après mes souvenirs )

Ch.

Re: utf8 et htmlentities

par Dr@ke » 30 sept. 2009, 16:29

Attention avant:
Si c'est juste un problème de htmlentities comme le laisse penser ton post:
Modifie la syntaxe de htmtentities() pour que cela fonctionne en UTF-8.
Exemple:
htmlentities($texte, ENT_QUOTES, 'UTF-8')
Ou utiliser simplement htmlspecialchars() au lieu de htmlentities()...
Exemple:
htmlspecialchars($texte, ENT_QUOTES, 'UTF-8')
Avant toute modifications importantes , essaye au moins cela :wink:

Ps:
Car htmlentities() et htmlspecialchars() utilisent par défaut l'encodage ISO.

Re: utf8 et htmlentities

par ev » 30 sept. 2009, 16:19

Comment me conseilles-tu de procéder pour ré-encoder correctement mes anciennes données issus d'une base en latin1 en utf8 ?
Voici ce que j'essaie de faire, sans succès...

-Je fait un dump de mon ancienne BD latin1 en précisant qu'il s'agit d'un fichier iso-8859-1
-Je l'ouvre avec notepad++, remplace SET NAMES latin1 par SET NAMES utf8
-Je remplace tous les " collate latin1_general_ci" par " collate utf8_bin"
-Je remplace tous les " DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci" par " DEFAULT CHARSET=utf8 COLLATE=utf8_bin"
-Je click sur 'format' > 'convertir en UTF-8 (sans BOM)
-J'enregistre mon fichier
-Je l'importe dans ma nouvelle BD utf8 en précisant qu'il s'agit d'un fichier utf8
...
Merci d'avance

Re: utf8 et htmlentities

par stopher » 30 sept. 2009, 14:03

Salut,

A mon avis , tes tables sont maintenant convertis , mais les données , non !

( c'est assez galére de passer les données d'une base ISO vers utf-8 je trouve )

de plus il faut veiller à ce que l'enregistrement se fasse en utf-8

Une petite requête avant une insertion : "SET NAMES utf8"

Ce paramètre peut aussi plus simplement être configuré dans le my.cnf

en ajoutant ces quelques lignes :

Code : Tout sélectionner

default-character-set=utf8 default-collation=utf8 collation_server=utf8_general_ci character_set_server=utf8 skip-character-set-client-handshake
Ensuite , si tu as toujours des problèmes , tu peux aussi utiliser utf8_encode()

Ch.

utf8 et htmlentities

par ev » 30 sept. 2009, 13:36

Bonjour à tous,

Je suis en train de refondre un site encodé à la base en iso-8859-1, en utf8.
D'après mes recherches, j'ai réencodé la BD en utf8 collation utf8_bin, puis vérifié que les fichiers aient bien été créés en utf8 sans BOM, puis corrigé le XHtml.
Tout semble ok.
Pourtant les données sortie de ma BD s'affiche avec des caractères de type � comme s'il s'agissait de caractère iso étant affiché en utf8...
Pour corriger cela, htmlentities convient, mais est-ce la seule solution ?

En effet, si c'est le cas, j'ai des milliers de "echo" à corriger et j'ai peur que mes yeux ne tiennent pas le choc ;-)

Merci de votre collaboration,

EV