2010-09-28 17 views

Répondre

2

on dirait que certains « problème Unicode ».

Vérifiez bien que vous utilisez UTF-8 comme codage des caractères pour tables/base de données (ou peut-être même par défaut caractères). Voir 9.1.3. Specifying Character Sets and Collations.

+1

C'est l'encodage de la table. Un mauvais jeu de caractères dans une chaîne de connexion ou une requête HTTP aurait seulement produit [mojibake] (http://en.wikipedia.org/wiki/Mojibake), pas des questionmarks. Voir aussi [cet article] (http://balusc.blogspot.com/2009/05/unicode-how-to-get-characters-right.html). – BalusC

+0

@BalusC Wow, votre article est simplement ... génial. –

+0

@BalusC Réponse fixée, merci. –

0

Merci pour votre réponse Ce n'est pas un problème lié à Unicode j'ai vérifié mon jeu de caractères forme db au serveur d'application Il est UTF-8

si je tape le symbole il est inséré correctement dans db mais si j'ai copié forme ailleurs, il insère mojibake.

+0

Que voulez-vous dire par "copie"? Comment? –

+1

Comment avez-vous confirmé que les points d'interrogation persistaient à la première place? Vous l'avez vérifié en utilisant un outil d'administration DB, non? Parce que, par exemple, interroger les données et les écrire dans stdout, qui ne supporte pas l'encodage, aurait aussi produit des points d'interrogation. Mojibake ne se produit que lorsque les données sont décodées/encodées en utilisant le mauvais encodage avant/après le transfert comme octets de A à B. – BalusC