web-dev-qa-db-ja.com

phpmyadminのデフォルトの照合順序を変更する

PhpMyAdminは照合順序latin1_swedish_ciでデフォルトでテーブルをインポートしているようですが、これをどのように変更しますか?

34
Sergio del Amo

Mysql設定で、[mysqld]タブの下にあるデフォルトの文字セットを変更します。例えば:

[mysqld]
default-character-set=utf8

変更を有効にするために、後でMysqlサーバーを再起動することを忘れないでください。

20
Eran Galperin

Linuxの場合:

  1. MySQL構成ファイルにアクセスできる必要があります。
    場所は/etc/mysql/my.cnfから~/my.cnf(ユーザーディレクトリ)までさまざまです。

  2. セクション[mysqld]に次の行を追加します。

    collation_server = utf8_unicode_ci
    character_set_server=utf8
    
  3. サーバーを再起動します。

    service mysqld restart
    
17
Lamy

これは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 から抜粋したコードスニペット。

13
Tomalak

これは古い投稿であることを知っています。しかし、phpMyAdminを使用してデフォルトの文字セットを変更した方法は次のとおりです。

phpMyadminメインページ>変数タブ(サーバー変数と設定)>「文字」を検索し、すべての変数を「latin1」から「utf8」に変更しました。 (phpMyAdmin v。3.5.7を使用したMAMPインストール)

他の人が言ったように、これはMySQLの変数であり、phpMyAdmin固有の変数ではありません。

8

utf8mb4の場合、[mysqld]セクションで次の行を追加/変更します。

collation_server = utf8mb4_unicode_ci
character_set_server = utf8mb4

次に、mysqlサービスを再起動します(Ubuntuの場合、コマンドはSudo service mysql restartです)

3
GSTAR

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

@見る

3
Yash
  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を使用してページを再読み込みし、結果を確認します

enter image description here

0
user251433

代わりにutf8mb4を使用したかったので、構成は次のようにする必要がありました。

collation_server = utf8mb4_general_ci
character_set_server=utf8mb4

character_setがutf8に設定されている場合、サーバーは起動しませんでした

0
Nelson