37

在我看来,phpMyAdmin 默认使用排序规则 latin1_swedish_ci 导入表,我该如何更改?

4

8 回答 8

22

在您的 Mysql 配置中,更改 [mysqld] 选项卡下的默认字符集。例如:

[mysqld]
default-character-set=utf8

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

于 2008-09-30T16:17:11.877 回答
20

对于 Linux:

  1. 您需要有权访问 MySQL 配置文件。
    位置可能因(用户目录)/etc/mysql/my.cnf而异。~/my.cnf

  2. 在部分中添加以下行[mysqld]

    collation_server = utf8_unicode_ci
    character_set_server=utf8
    
  3. 重启服务器:

    service mysqld restart
    
于 2012-07-07T10:21:44.263 回答
13

这不是 phpMyAdmin 问题。

排序规则是最近 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';

这里获取的代码片段。

于 2008-09-30T16:09:31.940 回答
9

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

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

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

于 2013-09-02T08:44:32.353 回答
7

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

collation_server = utf8mb4_unicode_ci
character_set_server = utf8mb4

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

于 2018-07-24T16:52:51.783 回答
4

MySQL DB «更改数据库的排序规则名称|表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

@看

于 2018-01-25T07:49:44.760 回答
3
  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服务器并删除 cookie、 PhpMyAdmin所在域的数据

  2. 使用PhpMyAmdin重新加载页面并查看结果

在此处输入图像描述

于 2019-09-02T17:55:03.243 回答
0

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

collation_server = utf8mb4_general_ci
character_set_server=utf8mb4

如果 character_set 设置为utf8

于 2020-01-09T14:23:41.107 回答