Je lis deux copies identiques d'une base de données dont les champs comportent des caractères accentués.
Lecture par une procédure serveur en php (transmise en réponse à l'interrogation d'une fonction Ajax avec jQuery).
Je lis la réponse avec Firebug.
J'interroge les caractéristiques de mes deux serveurs avec PHPMyAdmin
soit une base "localhost"
Langage french
Jeu de caractères pour MySQL UTF8 Unicode (utf8)
Interclassement utf8_general_ci
soit une base sur un serveur distant (hébergeur 1&1)
Langage french fr-utf-8
Caractères pour MySQL UTF8 Unicode (utf8)
Interclassement pour la connexion utf8_general_ci
Les deux serveurs me paraissent étrangement semblables !

Dans le premier cas les données accentuées (lues dans la base avec PHPMyAdmin) sont transmises avec leurs accents et affichées par la fonction javascript ad hoc (Aucun problème d'affichage local en utf-8)
Dans le second cas la présence d'un caractère spécial (accent, guillemet, ...) entraîne une réponse "null", et les données ne sont donc pas affichées. Il suffit d'enlever le caractère spécial pour que tout rentre dans l'ordre.

Auriez-vous une idée pour expliquer ou corriger cette désagréable différence de comportement ?