my.ini에서 character_set_database 및 collation_database를 outf8로 설정하는 방법은 무엇입니까?
저는 이 문제에 대해 구글 검색을 많이 했습니다.요약하자면, 이것이 제가.my.ini
다음과 같습니다.
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[client]
database = abcdef
user = root
password = XXXXXX
default-character-set = utf8
[mysql]
default-character-set=utf8
[mysqld]
character_set_server=utf8
max_connections = 200
init_connect='SET collation_connection = utf8_general_ci'
init_connect='SET NAMES utf8'
cmd를 통해 mysql에 들어가서 발행할 때:show variables like "%character%";show variables like "%collation%";
, 이것이 제가 얻은 것입니다.
+--------------------------+---------------------------------+
| Variable_name | Value |
+--------------------------+---------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | D:\env\MySQL5.6\share\charsets\ |
+--------------------------+---------------------------------+
8 rows in set (0.00 sec)
+----------------------+-------------------+
| Variable_name | Value |
+----------------------+-------------------+
| collation_connection | utf8_general_ci |
| collation_database | latin1_swedish_ci |
| collation_server | utf8_unicode_ci |
+----------------------+-------------------+
MySQL 서비스를 이미 다시 시작했는데 변경 방법에 대한 아이디어를 줄 수 있는 사람이 있습니까?character_set_database
게다가collation_database
로.utf8
? 감사합니다.
이것은 사실 그 안에 있는 설정이 아닙니다.my.cnf
(또는my.ini
이 경우).mySQL은 데이터베이스 자체의 콜렉션(생성 시)에서 이 설정을 가져옵니다.원하는 utf8 인코딩과 함께 이 작업을 수행하려면 다음을 수행합니다.
ALTER DATABASE databasename CHARACTER SET utf8 COLLATE utf8_general_ci;
그런 다음 mysql을 다시 시작합니다(필요한 경우 cant 기억). 다음 a:
SHOW VARIABLES;
다 잘 될 겁니다, 도움이 되길 바랍니다!
사이드 노트 : 내 생각엔default-character-set
는 현재(mySQL 5.5+) 더 이상 사용되지 않으며 구성 파일을 안절부절 못하게 만드는 것 같습니다.
요약합니다.
사용 가능한 문자 집합/대열 결정
SHOW CHARSET;
SHOW COLLATION;
체크 문자 세트
SHOW VARIABLES LIKE '%character%';
SHOW VARIABLES LIKE '%collation%';
set charset (configure file -> my.cnf)
[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
데이터베이스/테이블 문자 집합 확인
SHOW CREATE DATABASE databasename;
SHOW CREATE TABLE tablename;
데이터베이스/테이블 문자 집합 변경:
ALTER DATABASE databasename CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE tablename CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
데이터베이스/테이블을 만들 때 설정:
CREATE DATABASE new_db CHARACTER SET utf8mb4 DEFAULT COLLATE utf8mb4_general_ci;
CREATE TABLE new_table (id INT) CHARSET utf8mb4 COLLATE utf8mb4_general_ci;
참고: Mysql utf8에서 utf8 ,utf8mb4가 실제 utf8이 아니라고 들었습니다. 따라서, Mysql에 저장할 수 없는 특수 문자가 있다면 utf8mb4와 utf8mb4_general_ci를 사용해야 할 것입니다.
언급URL : https://stackoverflow.com/questions/22572558/how-to-set-character-set-database-and-collation-database-to-utf8-in-my-ini
'sourcecode' 카테고리의 다른 글
이 Oracle ORA-01403을 처리하는 올바른 방법은 무엇입니까? 데이터를 찾을 수 없음 예외? (0) | 2023.10.10 |
---|---|
농담에서 스파이를 리셋하거나 클리어하는 방법은? (0) | 2023.10.10 |
python(openpyxl)을 사용하여 Excel에서 그리드 라인 제거 (0) | 2023.10.10 |
부동 소수점 값 27개 집합에서 중위수를 선택하는 가장 빠른 코드 C/C++ (0) | 2023.10.10 |
Angularjs에서 $compile을 지시 외에 사용하려면 어떻게 해야 합니까? (0) | 2023.10.10 |