2008-09-30 760 views

回答

17

在您的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

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'; 

代碼段從here拍攝。

14
  1. 您需要訪問MySQL配置文件。位置可以從/etc/my.cnf to ~/my.cnf(用戶目錄)變化。
  2. 添加以下線路中的部分的[mysqld]:

collation_server = utf8_unicode_ci

被character_set_server = UTF8

3 ..重新啓動服務器:服務mysqld的重啓(對於Linux)

7

知道這是一箇舊帖子。但我通過phpMyAdmin更改默認字符集的方式是:

phpMyadmin主頁>變量選項卡(服務器變量和設置)>搜索「字符」並將所有變量從「latin1」更改爲「utf8」。 (使用phpMyAdmin v 3.5.7安裝MAMP)

正如其他人所說,這是MySQL的變量,而不是一些phpMyAdmin特定的變量。

1

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