Les caractères spéciaux ne s'affichent pas !

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

J'ai développé mon site Drupal en local, avec WAMP 5, pas de problème.

J'ai uploadé le tout sur OVH aujourd'hui pour faire des tests, et là, malheur, les caractères spéciaux (é, è, à...) ne s'affichent pas !!

Enfin, ils s'affichent, mais sous forme de "?" , bref, il me faut un petit coup de main...

Merci

Version de Drupal : 

Je viens de m'apercevoir que c'est même plus vicieux que ce que je pensais :

j'ai voulu éditer une node, et je me suis aperçu que les caractères spéciaux sont remplacer par des ? dans la zone de saisie..
Si je remplace ce ? par un é par exemple, et que je valide, ça fonctionne !

Si j'avais 10 pages, je ne me prendrais pas la tête, et je rééditerai tout, mais le problème, c'est que j'en ai près de 200 !!

Oui, c'est ce que je pense également...

Pour transférer mon site, j'ai :

  • copié le dossier contenant Drupal, et collé chez OVH
  • modifié les informations de connexion à la base de données
  • exporté ma base MySQL locale (PHP MyAdmin > Sélection de ma base > Exporter) avec les options par défaut
  • tenté d'importer ce fichier SQL sous OVH, mais je me suis aperçu que ça ne fonctionnait que si j'enlevais le DEFAULT de chaque description de table

Sans enlever ce DEFAULT, ça ne passe pas... A quoi ça correspond ?
Il y a peut être également une histoire de type (InnoDB vs MyISAM) ?

Voici le type de message que j'obtiens :

1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'DEFAULT CHARSET=utf8 AUTO_INCREMENT=1' at line 7

Alors, j'ai continué mes fastidieuses recherches, fouillé sur des forums et sur Google, et il semble bien que le fait de supprimer le "DEFAULT" devant CHARSET=utf8 permette d'importer la base sous OVH.

C'est TRES contraignant, car il faut le faire sur la grosse centaine de tables, mais bon, ça marche...

En ce qui concerne les caractères spéciaux, j'ai également vu sur pas mal de forums que je ne suis pas le seul à avoir ce problème. Il y a 2 solutions :

  • Sous PhPMyAdmin local, ne pas transmettre le fichier à exporter, mais l'afficher, et copier coller le tout sous PhPMyAdmin OVH (j'ai testé, ça à l'air de fonctionner).

  • Autre solution, mais que je n'ai pas testé, c'est celle ci (voir tout en bas du post): http://www.phpfrance.com/forums/ftopic136.php

Ok, j'imagine que c'est en fait un bug du navigateur. As tu regardé l'effet du paramètre "Charset of the file" dans l'interface d'importation ?

J'aimerais bien savoir d'où vient le fait que le serveur MySQL d'OVH n'accepte pas le "DEFAULT CHARSET=utf8"...

A titre indicatif, pour ceux que ça intéresse, il semble que le fait de changer la langue de PhpMyAdmin d'OVH en français utf-8 permette de ne pas avoir de problèmes de caractères spéciaux.

Ca parait un peu bizarre, mais pour moi ça marché en tout cas, plus de problèmes à l'importation...

Juste pour signaler que j'avais exatement le même problème (mais pas avec OVH), et après plusieurs essais, la solution s'est avéré être dans mon cas:

  • "changer la langue de PhpMyAdmin d'OVH en français utf-8"
  • "exporter ta base en mode de compatibilité "mysql40""

Ca a marché impeccable ensuite.

Merci !