更改phpmyadmin中的默认排序规则

时间:2008-09-30 15:58:55

标签: mysql phpmyadmin

在我看来,默认情况下phpMyAdmin会使用排序规则latin1_swedish_ci导入表格,我是如何更改此内容的?

8 个答案:

答案 0 :(得分:19)

在Mysql配置中,更改[mysqld]选项卡下的default-character-set。例如:

[mysqld]
default-character-set=utf8

不要忘记之后重新启动Mysql服务器以使更改生效。

答案 1 :(得分:17)

对于Linux:

  1. 您需要访问MySQL配置文件 位置可以从/etc/mysql/my.cnf~/my.cnf(用户目录)。

  2. [mysqld]

    部分添加以下行
    collation_server = utf8_unicode_ci
    character_set_server=utf8
    
  3. 重启服务器:

    service mysqld restart
    

答案 2 :(得分:13)

这不是phpMyAdmin的问题。

Collat​​ions是最新MySQL版本的一部分,您必须设置服务器(或至少是数据库)的默认排序规则以更改该行为。

要将已导入的表格转换为UTF-8,您可以(在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';

摘自here的代码段。

答案 3 :(得分:8)

知道这是一个老帖子。但我通过phpMyAdmin更改默认字符集的方式是:

phpMyadmin主页> “变量”选项卡(服务器变量和设置)>搜索“character”并将所有变量从“latin1”更改为“utf8”。 (在使用phpMyAdmin v.3.5.7的MAMP安装上)

正如其他人所说,这是MySQL的变量,而不是某些特定的phpMyAdmin。

答案 4 :(得分:3)

MySQL DB«将Collation数据库名称|表更改为utf8_general_ci以支持Unicode。

更改配置设置文件

XAMPP: 从配置设置文件«UTF 8 Settings

中取消注释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"

MySQL服务器支持UTF8以及文件my.cnf

中的以下代码行
## UTF 8 Settings
collation_server=utf8_unicode_ci
character_set_server=utf8

@see

答案 5 :(得分:2)

对于utf8mb4,请在[mysqld]部分中添加/更改以下内容:

collation_server = utf8mb4_unicode_ci
character_set_server = utf8mb4

然后重新启动mysql服务(对于Ubuntu,命令为sudo service mysql restart

答案 6 :(得分:0)

  1. 将此字符串插入my.ini(或my.cnf
[mysqld]
collation_server = utf8_unicode_ci
character_set_server=utf8
  1. 添加到config.inc.php
$cfg['DefaultConnectionCollation'] = 'utf8_general_ci';
  1. 您需要重新启动 MySQL 服务器并删除co​​okie, PhpMyAdmin

  2. 域中的数据
  3. 使用 PhpMyAmdin 重新加载页面并查看结果

enter image description here

答案 7 :(得分:0)

我想改用utf8mb4,并且配置必须如下:

collation_server = utf8mb4_general_ci
character_set_server=utf8mb4

如果将character_set设置为utf8

,则服务器将无法启动