Question

Essayer d'aller UTF8 de façon permanente et ne peut pas obtenir MAMP Installons de MySQL pour reconnaître my.cnf valeurs.

MAMP Version 2.0.5 (2.0.5)

MySQL 5.5.9

my.cnf:

[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

[mysqld]
default-character-set=utf8
default-collation=utf8_general_ci
collation_server=utf8_general_ci
character_set_server=utf8
init-connect='SET NAMES utf8'

Emplacement du fichier:

/ Applications / MAMP / Library / Conf /

MySQL varibles au démarrage:

mysql> show variables where variable_name LIKE '%char%' OR variable_name LIKE '%colla%';
+--------------------------+--------------------------------------------+
| Variable_name            | Value                                      |
+--------------------------+--------------------------------------------+
| character_set_client     | utf8                                       |
| character_set_connection | utf8                                       |
| character_set_database   | latin1                                     |
| character_set_filesystem | binary                                     |
| character_set_results    | utf8                                       |
| character_set_server     | latin1                                     |
| character_set_system     | utf8                                       |
| character_sets_dir       | /Applications/MAMP/Library/share/charsets/ |
| collation_connection     | utf8_general_ci                            |
| collation_database       | latin1_swedish_ci                          |
| collation_server         | latin1_swedish_ci                          |
+--------------------------+--------------------------------------------+

Commutation entre différents de db obtiendrez les valeurs _database à UTF8, mais je ne peux pas sembler obtenir les deux options de _server pour refléter UTF8 / utf8_unicode_ci:

use tsdb;

+--------------------------+--------------------------------------------+
| Variable_name            | Value                                      |
+--------------------------+--------------------------------------------+
| character_set_client     | utf8                                       |
| character_set_connection | utf8                                       |
| character_set_database   | utf8                                       |
| character_set_filesystem | binary                                     |
| character_set_results    | utf8                                       |
| character_set_server     | latin1                                     |
| character_set_system     | utf8                                       |
| character_sets_dir       | /Applications/MAMP/Library/share/charsets/ |
| collation_connection     | utf8_general_ci                            |
| collation_database       | utf8_general_ci                            |
| collation_server         | latin1_swedish_ci                          |
+--------------------------+--------------------------------------------+

Essayé

set global character_set_server = utf8;

etc, mais il n'a pas pris le redémarrage.

Ceci est ma première fois de jouer avec my.cnf donc je suis sûr que je donne sur quelque chose de fondamental. Est-il d'info manque de my.cnf, est la mauvaise syntaxe? Ou est-ordre important?

Merci.

Était-ce utile?

La solution

Inclus skip-character-set-client-handshake dans le groupe du fichier my.cnf [mysqld] et tout semble correctement configuré, UTF8 tout droit. Je ne suis toujours pas sûr pourquoi default-character-set=utf8 dans le groupe [client] n'a pas ici, mais je suis un débutant si nous espérons que quelqu'un peut faire la lumière là-bas. Vous devez créer my.cnf dans Applications / MAMP / IN et MAMP conf Pro, vous allez dans Fichier> Modifier le modèle> MySQL my.cnf pour faire les changements.

my.cnf:

# The MySQL server
[mysqld]
skip-character-set-client-handshake
collation_server=utf8_unicode_ci
character_set_server=utf8

Résultats:

mysql> SHOW VARIABLES WHERE variable_name LIKE '%char%' OR variable_name LIKE '%colla%';
+--------------------------+--------------------------------------------+
| Variable_name            | Value                                      |
+--------------------------+--------------------------------------------+
| character_set_client     | utf8                                       |
| character_set_connection | utf8                                       |
| character_set_database   | utf8                                       |
| character_set_filesystem | binary                                     |
| character_set_results    | utf8                                       |
| character_set_server     | utf8                                       |
| character_set_system     | utf8                                       |
| character_sets_dir       | /Applications/MAMP/Library/share/charsets/ |
| collation_connection     | utf8_unicode_ci                            |
| collation_database       | utf8_unicode_ci                            |
| collation_server         | utf8_unicode_ci                            |
+--------------------------+--------------------------------------------+

Cela a également résolu pourquoi les variables de mysqladmin étaient différents de MySQL lors de l'utilisation pour chaque SHOW VARIABLES.

Solution mentionné dans les commentaires de MySQL manuel .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top