2010-01-23 7 views
1

J'ai lu quelques articles qui promouvaient l'utilisation du nouvel ext/mysqli dans php en raison de sa prise en charge des jeux de caractères. J'utilise actuellement ext/mysql et j'utilise SET NAMES UTF-8 pour m'assurer que toutes mes données sont stockées sous utf-8. est-ce que ce charset ne supporte pas ext/mysql ou est-ce que je manque quelque chose de plus gros?ext/mysql support de charset vs ext/mysqli charset

Merci :)

Répondre

1

SET NAMES UTF-8 ne signifie pas que les données sont stockées en UTF-8. Cela signifie que les données sont RECUSES en UTF-8 du client et SERVED en UTF-8 au client.

stockage encoding est lorsque vous créez un db/table/ligne, par exemple

CREATE TABLE{ 
    ... 
}CHARSET=utf8; 

ou

CREATE DATABASE DEFAULT CHARACTER SET utf8 

Lire ici: Mysql: latin1-> utf8. Convert characters to their multibyte equivalents


2 Lyon mysql va très bien.

Veuillez vérifier une fois de plus les encodages des tables et des lignes via, par exemple, phpMyAdmin. N'oubliez pas que le codage de la base de données ne modifie pas automatiquement le codage des tables. Il est simplement utilisé pour une valeur par défaut si le codage de table n'est pas spécifié

+0

Merci Dan. Je comprends mieux maintenant. J'ai en fait configuré mysql pour utiliser SET DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; Pour en revenir à ma vraie question, est-ce que je devrais utiliser mysqli si je veux un support complet de l'Unicode? Ou est-ce que mysql peut très bien faire ça? Merci :) – Lyon

+0

J'ai aussi vérifié avec phpmyadmin aussi. Appréciez les heads up Dan :) Merci! – Lyon