Problème d'encodage UTF8 !

Par Splaze, il y a 14 ans


Bonjour à tous!

J'ai récemment mise en ligne mon site, sur un hébergeur gratuit (x10hosting) et lors de l'affichage des textes (stocker dans la base de donnée), j'ai un petit problème pour les accents & les caractères spéciaux. Dit comme ça, ce n'est pas très claire je sais.

Je laisse un lien vers le site : http://zewriting.elementfx.com/index.php?p=pages/writing&np=1 (l'url est un peu crade, mais pour la pagination je n'est pas trouvé le moyen de faire un system avec l'url rewriting du genre http://zewriting.elementfx.com/pages/writing/1, si quelqu'un avait la solution, ce serai sympa!).

Je précise que j'ai inclu ces lignes dans le dispatcher :

- <meta http-equiv="content-type" content="text/html; charset=utf-8" />
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

et avant la requête avec PDO (qui marche en local):

- $PDO->exec("SET CHARACTER SET utf8");

En vous remerciant d'avance de l'aide que vous pourriez m'apporter.
Cordialement, Maxime.

6 réponses

Arbiter0x, il y a 14 ans

Essaie d'enlevé <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

Splaze, il y a 14 ans

Déjà essayé, ça ne résoud en rien le problème :/

Mikachu, il y a 14 ans

As tu essayé

array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8')

quand tu creer ton instance de pdo ?

ex:

$pdo = new PDO(
    'mysql:host='.$host.';dbname='.$dbname.';',
    $login,
    $password,
    array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8')
);
Splaze, il y a 14 ans

Malheureusement j'ai déjà essayer! pas moyen, il ne veut rien entendre!
Je me demande si claquer directement les codes iso ne me poserai pas moins de soucis!

vash60700, il y a 14 ans

UTF8_DECODE ou UTF8_ENCODE serait peut être une piste à suivre.

Autre idée (vu sur JOOMLA), essaye d'ouvrir le fichier PHP avec un notepad ++ et regarde l'encodage du fichier (si celui ci était en ISO, ça passait pas bien sur JOOMLA)...

Splaze, il y a 14 ans

Exact, j'avais ajouter le texte depuis un backoffice assez basique, en oubliant d'encoder les caractères avant l'upload, maintenant ça marche impeccable.

Merci pour votre aide.