source

phpmyadmin에서 기본 컬렉션 변경

ittop 2023. 9. 4. 20:40
반응형

phpmyadmin에서 기본 컬렉션 변경

phpMyAdmin은 기본적으로 latin1_swedish_ci 조합을 사용하여 테이블을 가져오는 것 같습니다. 어떻게 변경해야 합니까?

Mysql 구성에서 [mysqld] 탭에서 작동하는 기본 문자 집합을 변경합니다.예:

[mysqld]
default-character-set=utf8

변경사항을 적용하려면 나중에 Mysql 서버를 다시 시작하는 것을 잊지 마십시오.

Linux의 경우:

  1. MySQL 구성 파일에 액세스할 수 있어야 합니다.
    위치는 다음과 다를 수 있습니다./etc/mysql/my.cnf로.~/my.cnf(사용자 디렉토리).

  2. 섹션에 다음 행 추가[mysqld]:

    collation_server = utf8_unicode_ci
    character_set_server=utf8
    
  3. 서버를 다시 시작합니다.

    service mysqld restart
    

이것은 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';

여기서 가져온 코드 조각입니다.

위해서utf8mb4다음을 추가/변경합니다.[mysqld]섹션:

collation_server = utf8mb4_unicode_ci
character_set_server = utf8mb4

그런 다음 를 다시 시작합니다.mysqlservice(Ubuntu의 경우 명령은sudo service mysql restart)

이것이 오래된 게시물이라는 것을 압니다.그러나 phpMyAdmin을 통해 기본 문자 집합을 변경한 방법은 다음과 같습니다.

phpMyAdmin 메인 페이지 > 변수 탭(서버 변수 및 설정) > "문자"를 검색하여 모든 변수를 "latin1"에서 "utf8"로 변경했습니다. (phpMyAdmin v.3.5.7이 설치된 MAMP에서)

그리고 다른 사람들이 말했듯이, 이것은 MySQL을 위한 변수이지 일부 phpMyAdmin 특정 변수가 아닙니다.

MySQL DB » 데이터베이스의 데이터 집합 이름 변경|테이블 대상utf8_general_ci유니코드를 지원하기 위해.

구성 설정 파일도 변경


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

@참조

  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. PphpMyAdmin이 위치한 도메인의 데이터인 MySQL 서버를 다시 시작하고 쿠키를 제거해야 합니다.

  2. PphpMyAmdin으로 페이지를 다시 로드하고 결과를 봅니다.

enter image description here

원래 질문은 phpMyAdmin의 기본 설정에 대한 것이었습니다.나는 그 질문이 phpMyAdmin에서 새로운 데이터베이스를 만드는 것과 관련이 있다고 생각합니다 - 페이지에 utf8mb4가 표시될 때...이것은 phpMyAdmin 설정입니다!새 데이터베이스를 만들기 위한 기본값을 utf8_general_ci로 표시하려면 다음과 같이 하십시오.config.inc.php 파일에 다음 두 줄을 추가합니다.

$cfg['DefaultCharset'] = 'utf8';

$cfg['DefaultConnectionCollation'] = 'utf8_general_ci';

phpMyAdmin 문서 https://docs.phpmyadmin.net/en/latest/config.html https://docs.phpmyadmin.net/en/latest/config.html#cfg_DefaultConnectionCollation 을 참조하십시오.

대신 utf8mb4를 사용하고 싶었고, 구성은 다음과 같아야 했습니다.

collation_server = utf8mb4_general_ci
character_set_server=utf8mb4

를 character_set로 .utf8

언급URL : https://stackoverflow.com/questions/153706/change-default-collation-in-phpmyadmin

반응형