2016-10-31 2 views
0

Je vais utiliser utf8mb4. Aussi certaines de mes variables doivent être utf8mb4 qui a mentionné here. Je les ai mis à partir du menu phpmyadmin Variables. Mais certains des changements à utf8mb4, mais c'est valeur de session est toujours uft8.variables de serveur phpmyadmin et valeurs de session

enter image description here

Et quand je lance cette commande:

SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%' 

Cela me montrer UTF8, pas utf8mb4. Une idée?

EDIT: Quand je tournerai la variable à utf8, la valeur la session disapear.

+0

Vous pouvez avoir défini le global version de la variable, mais pas celle de la session – Shadow

+0

@Shadow Mais je ne peux pas éditer la valeur de la session Je peux juste éditer la variable –

+0

Oui, vous pouvez, en utilisant l'instruction 'set' Voir sa documentation dans le manuel de MySQL – Shadow

Répondre

1

Pour établir des changements permanents à ceux-ci, ou tout autre, "Variables":

  1. Modifier my.cnf
  2. redémarrer le serveur vous devrez alors vous connecter à nouveau (mysqld)
  3. (évidemment) .

Le débit:

  • Lorsque le serveur démarre, my.cnf est utilisé pour remplacer les valeurs par défaut prédéfinies; la combinaison devient GLOBAL VARIABLES.
  • Lorsque vous vous connectez, les variables globales sont utilisées pour initialiser le SESSION VARIABLES; ceux-ci sont utilisés par votre connexion.
  • Si vous faites un SET, il ne modifiera que votre variable de session. La valeur sera perdue à la fermeture de la connexion.

Une autre note sur utf8mb4 ... La plupart des logiciels client (php, phpmyadmin, etc.) a une façon de régler la CHARACTER SET et COLLATION pour la connexion. Cette est lorsque vous devez établir que "les octets dans le client sont encodés" UTF-8 "(le monde extérieur l'appelle UTF-8, MySQL appelle la même chose utf8mb4.)

+0

Merci. Très belle description. Le principal problème est que je ne trouve pas le fichier 'my.cnf'. J'ai beaucoup cherché sur le net mais aucun résultat. (Je suis dans localhost et en utilisant xampp) –

+0

Et quelque part j'ai vu que ce fichier devrait être dans '/ etc/my.cnf' mais où se trouve' etc'? –

+0

Quel système d'exploitation?Cela pourrait s'appeler 'my.ini'. –