在phpmyadmin中更改默认排序规则

问题描述:

在我看来,phpMyAdmin默认情况下通过排序规则latin1_swedish_ci导入表,我如何更改?在phpmyadmin中更改默认排序规则

+0

[此答案显示如何将其从phpMyAdmin更改](http://*.com/a/12719854/731314)。 – Gary 2015-08-17 22:05:05

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

[mysqld] 
default-character-set=utf8 

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

+2

这在debian的5.5.28-1-log中无效,默认字符集是无效值。 – Skynet 2013-01-03 20:40:03

+9

上面的解决方案不起作用,我这样做:`[mysqld] character-set-server = utf8 collat​​ion-server = utf8_general_ci` – 2014-11-19 20:21:58

这不是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'; 

代码段从here拍摄。

  1. 您需要访问MySQL配置文件。位置可以从/etc/my.cnf to ~/my.cnf(用户目录)变化。
  2. 添加以下线路中的部分的[mysqld]:

collation_server = utf8_unicode_ci

被character_set_server = UTF8

3 ..重新启动服务器:服务mysqld的重启(对于Linux)

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

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

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

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

下面的代码行10