Il me semble que phpMyAdmin importe des tables par défaut avec le classement latin1_swedish_ci, comment puis-je changer cela?
Dans votre configuration Mysql, changez le jeu de caractères par défaut sous l'onglet [mysqld]. Par exemple:
[mysqld]
default-character-set=utf8
N'oubliez pas de redémarrer votre serveur Mysql par la suite pour que les modifications prennent effet.
Pour Linux:
Vous devez avoir accès au fichier de configuration MySQL.
L'emplacement peut varier de /etc/mysql/my.cnf
à ~/my.cnf
(répertoire utilisateur).
Ajoutez les lignes suivantes dans la section [mysqld]
:
collation_server = utf8_unicode_ci
character_set_server=utf8
Redémarrez le serveur:
service mysqld restart
Ce n'est pas une question phpMyAdmin.
Les classements font partie des versions récentes de MySQL, vous devez définir le classement par défaut du serveur (ou au moins de la base de données) pour changer ce comportement.
Pour convertir des tables déjà importées en UTF-8, vous pouvez faire (en PHP):
$dbname = 'my_databaseName';
mysql_connect('127.0.0.1', 'root', '');
mysql_query("ALTER DATABASE `$dbname` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci");
$res = mysql_query("SHOW TABLES FROM `$dbname`");
while($row = mysql_fetch_row($res)) {
$query = "ALTER TABLE {$dbname}.`{$row[0]}` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci";
mysql_query($query);
$query = "ALTER TABLE {$dbname}.`{$row[0]}` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci";
mysql_query($query);
}
echo 'all tables converted';
Extrait de code extrait de ici .
sais que c'est un vieux poste. Mais la façon dont j'ai changé le jeu de caractères par défaut via phpMyAdmin était:
page principale de phpMyadmin> Onglet Variables (Variables et paramètres du serveur)> recherché "caractère" et changé toutes les variables de "latin1" en "utf8". (sur une installation MAMP avec phpMyAdmin v. 3.5.7)
Et comme les autres l'ont dit, ce sont les variables pour MySQL et pas certaines spécifiques à phpMyAdmin.
Pour utf8mb4
, ajoutez/modifiez les éléments suivants dans [mysqld]
section:
collation_server = utf8mb4_unicode_ci
character_set_server = utf8mb4
Redémarrez ensuite le service mysql
(pour Ubuntu, la commande est Sudo service mysql restart
)
Base de données MySQL "change Collation Nom d'une base de données | Table en utf8_general_ci
afin de prendre en charge Unicode.
Modifier le fichier des paramètres de configuration également
XAMPP: décommenter UTF 8 Settings
du fichier des paramètres de configuration "D:\xampp\mysql\bin\my.ini
## UTF 8 Settings
#init-connect=\'SET NAMES utf8\'
collation_server=utf8_unicode_ci
character_set_server=utf8
skip-character-set-client-handshake
character_sets-dir="D:/xampp/mysql/share/charsets"
Pour que le serveur MySQL prenne en charge UTF8 et la ligne de code ci-dessous dans le fichier my.cnf
## UTF 8 Settings
collation_server=utf8_unicode_ci
character_set_server=utf8
@voir
my.ini
(ou my.cnf
)[mysqld]
collation_server = utf8_unicode_ci
character_set_server=utf8
config.inc.php
$cfg['DefaultConnectionCollation'] = 'utf8_general_ci';
Vous devez redémarrer le serveur MySQL et supprimer les cookies, les données du domaine où se trouve PhpMyAdmin
Recharger la page avec PhpMyAmdin et regarder le résultat
Je voulais utiliser utf8mb4 à la place, et la configuration devait être la suivante:
collation_server = utf8mb4_general_ci
character_set_server=utf8mb4
le serveur ne démarrerait pas si le jeu de caractères était défini sur utf8