1

Bonjour à tous,

Pour la fanfare dont je fais partie, j'ai mis sur pied un système en AJAX pour traiter les news et autre calendrier. J'ai fait les tests sur mon laptop, pas de soucis, mais sur le serveur de production, j'ai un comportement inattendu : une valeur contenant un "û" est tronquée, c'est-à-dire que je n'ai que les caractères précédents qui sont enregistrés. La requête d'insertion est correcte (je peux l'afficher en phase de debug), mais pas ce que je retrouve dans la BDD. Quelqu'un a une idée d'où ça vient et de comment résoudre ça ?

(Si c'est un problème manifeste de base de données, est-ce qu'un administrateur peut déménager ce topic ? Merci)

avatar
Je sais qu'il y a marqué "con" sur ma gueule. Je suis né comme ça, je m'y fais. Mais pourquoi toutes les filles qui me plaisent se sentent obligées de rajouter le suffixe "-fident" ?

2

avec phpmyadmin, tu dois pouvoir afficher les propriétés de la table, non ?

Peut-être un lien intéressant http://parand.com/say/index.php/2008/06/11/djangomysql-how-to-fix-unicode-aka-mysterious-question-marks/
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

3

4

Alors je ne sais pas trop d'où vient ton problème (problème de charset mais tu ne précises même pas lequel tu utilises embarrassed), mais quelques pistes:

- Javascript s'attend à avoir de l'UTF-8 en entrée ET produit de l'UTF-8 en sortie. (=> AJAX)
- Souvent, MySQL est configuré avec le mauvais charset, il faut lui dire d'utiliser le bon à chaque connexion, ou bien modifier la configuration du serveur quand tu y a accès. (C'est mieux pour les performances, mais pas toujours possible)
avatar
Le scénario de notre univers a été rédigée par un bataillon de singes savants. Tout s'explique enfin.
T'as un problème ? Tu veux un bonbon ?
[CrystalMPQ] C# MPQ Library/Tools - [CrystalBoy] C# GB Emulator - [Monoxide] C# OSX library - M68k Opcodes

5

Oups, pas assez de précision, désolé
Ma base de données est bien en UTF-8, la table utilisée pareil, la connexion entre PHP et mySQL aussi (grâce à "SET NAMES 'utf8'"), ma page est en UTF-8, mes scripts ont tous été codés en UTF-8, et donc, j'imagine que mes données le sont aussi. Maintenant, de quoi pourrait bien venir comme configuration serveur ce soucis ? Je m'en vais tester les pistes fournies en ./2, en espérant que ce soit accepté sur du mutualisé. Je vous redis, si ça intéresse quelqu'un d'autre que moi.
avatar
Je sais qu'il y a marqué "con" sur ma gueule. Je suis né comme ça, je m'y fais. Mais pourquoi toutes les filles qui me plaisent se sentent obligées de rajouter le suffixe "-fident" ?

6

Les champs de la table ont également le bon charset et la bonne collation ?
Ça me semble vraiment étrange comme problème… confus
Tu pourrais montrer ce que donne une valeur accentuée une fois stockée dans ta base par ton script ?
avatar
Le scénario de notre univers a été rédigée par un bataillon de singes savants. Tout s'explique enfin.
T'as un problème ? Tu veux un bonbon ?
[CrystalMPQ] C# MPQ Library/Tools - [CrystalBoy] C# GB Emulator - [Monoxide] C# OSX library - M68k Opcodes

7

j'ai déja eu le pb. phpmyadmin fait de la merde avec l'utf-8 même si on configure tout bien partout, ça n'empêche que c'est enregistré correctement en utf-8. J'ai renoncé à comprendre l'origine du souci.

8

./6 : C'est tronqué dans la base de données : la lettre accentuée et les suivantes ne s'affichent pas, et je n'ai pas fait d'autres tests avec d'autres lettres et d'autres accents. Dans le flux JSON pour récupérer mes données avant de les stocker, j'ai presque les bonnes choses, à la place que mon "û" est remplacé par "\u00xx" (son code unicode hexadécimal, j'imagine, je ne suis pas allé vérifier), d'où, me dis-je à l'instant, le problème, peut-être… Parce que (je remarque maintenant aussi) ma base de production est prévue en latin1_general_ci, mais ma table et mes champs sont bien tous en UTF-8. Faudra que je regarde l'interclassement de ma base en local… Et que je vérifie, celui qui m'a notifié le problème à réutilisé le système et les données semblent être correctes. Il y a aussi le navigateur qui peut être en cause, il utilise Chrome, j'utilise Firefox et je viens de tester, pas de problème.

Bon, creusez la question au cas où, je reviendrai dans quelques jours.
avatar
Je sais qu'il y a marqué "con" sur ma gueule. Je suis né comme ça, je m'y fais. Mais pourquoi toutes les filles qui me plaisent se sentent obligées de rajouter le suffixe "-fident" ?

9

Ymox (./8) :
mon "û" est remplacé par "\u00xx" (son code unicode hexadécimal, j'imagine, je ne suis pas allé vérifier)

ça, c'est tout à fait normal, des \uxxxx pour les caractères unicodes : c'est comme ça qu'ils sont représentés en JSON.
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

10

Bon, effectivement, quelques utilisations ont foiré, d'autres pas, et on ne sait pas non-plus pour quelle(s) raison(s). Mais il semble qu'actuellement, il n'y ait plus de problèmes.

./9 : c'est juste, j'avais oublié.

Je pense que je reviendrai mettre mes pages et mon script en ligne pour que ceux que ça titille puissent tester. Notez que ça risque d'attendre la semaine prochaine !
avatar
Je sais qu'il y a marqué "con" sur ma gueule. Je suis né comme ça, je m'y fais. Mais pourquoi toutes les filles qui me plaisent se sentent obligées de rajouter le suffixe "-fident" ?

11

Bon, voilà, ça refait le coup plutôt systématiquement ces derniers temps, donc je fournis le code JS et de ma page PHP qui gère les requêtes

http://www.mirari.fr/8Mgj
avatar
Je sais qu'il y a marqué "con" sur ma gueule. Je suis né comme ça, je m'y fais. Mais pourquoi toutes les filles qui me plaisent se sentent obligées de rajouter le suffixe "-fident" ?