2012-11-25 8 views
2

J'essaie d'enregistrer des caractères comme "±", "Ć", "³" mais ils sont enregistrés dans la base de données comme points d'interrogation (je les sauvegarde en utilisant phpMyAdmin).stocker les caractères polonais mysql

Le classement de la base de données et de la table est utf8_bin.

+0

Avez-vous défini la connexion à UTF-8? (via 'SET NAMES utf8;' comme première déclaration) – feeela

+0

Oui, cela n'aide pas. – user197483

Répondre

6

Essayez de changer le classement à:

utf8_unicode_ci 

ou

utf8_polish_ci 

Vous pouvez consulter: http://mysql.rjweb.org/doc.php/charcoll

vous pouvez également essayer de modifier la colonne spécifique:

ALTER TABLE tbl MODIFY COLUMN txt TEXT CHARACTER SET utf8 
+1

Ça n'a pas aidé. – user197483

+3

Vous pouvez essayer de modifier la colonne dans laquelle vous stockez les données spécifiques: 'ALTER TABLE tbl MODIFY COLUMN txt TEXT CARACTÈRE SET utf8' –

+0

merci qui a aidé. – user197483

1

Vous pouvez également modifier la colonne de vchar en nvchar. Ensuite, lors de l'insertion des valeurs de DB rappeler à l'annonce N avant comme suit: N'ŁÓDŹ »(dans les cadres de persistance u devrait avoir une sorte de représentation nSTRING)

de la documentation:

magasins nVarChar données UNICODE. Si vous avez besoin de stocker UNICODE ou des données multilingues, nvarchar est le choix. Varchar stocke les données ASCII et devrait être votre type de données de choix pour une utilisation normale. En ce qui concerne l'utilisation de la mémoire, nvarchar utilise 2 octets par caractère, tandis que varchar utilise 1

Questions connexes