Ubuntu 에서 MySQL 중국어 난 장 판 문제 해결
최근 Django 를 배 웠 습 니 다.MySQL 데이터 와 공동으로 사용 하 는 데 이 터 를 삽입 할 때 다음 문제 가 발생 했 습 니 다.
/usr/local/lib/python2.7/dist-packages/Django-1.11.dev20170117002028-py2.7.egg/django/db/backends/mysql/base.py:109: Warning: Incorrect string value: '\xE6\x88\x90\xE5\x8A\x9F...' for column 'json' at row 1
return self.cursor.execute(query, args)
[07/Feb/2017 12:15:21] "GET /index/ HTTP/1.1" 200 250
중국어 로 MySQL 데이터 베 이 스 를 삽입 할 수 없습니다~!~!데이터베이스 인 코딩 보기
mysql> show create database bangjob;
+----------+--------------------------------------------------------------------+
| Database | Create Database |
+----------+--------------------------------------------------------------------+
| bangjob | CREATE DATABASE `bangjob` /*!40100 DEFAULT CHARACTER SET latin1 */ |
+----------+--------------------------------------------------------------------+
1 row in set (0.00 sec)
mysql> show variables like'%char%';
+--------------------------+----------------------------+
| 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 | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
데이터베이스 인 코딩 수정
mysql> set character_set_database=utf8;
Query OK, 0 rows affected (0.00 sec)
mysql> set character_set_server=utf8;
Query OK, 0 rows affected (0.00 sec)
수 정 된 결과 보기
mysql> show variables like'%char%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
이 럴 때 계속 끼어 들 면 아무 문제 없어.정말 이렇게 쉬 웠 으 면 좋 겠 습 니 다.이러한 수정 자 는 MySQL 을 다시 시작 한 후에 설정 이 효력 을 잃 었 기 때 문 입 니 다!!!
계속해서 다른 방법 을 찾다
sudo gedit /etc/mysql/my.cnf
my.cnf 파일 의 대응 노드 에 정 보 를 추가 합 니 다:
[client]
default-character-set=utf8
[mysqld]
default-character-set=utf8
[mysql]
default-character-set=utf8
그리고 MySQL 을 다시 시작 합 니 다:
/etc/init.d/mysql start
다시 시작 할 수 있다 면 데이터베이스 인 코딩 을 다시 볼 수 있 습 니 다:
mysql> show variables like "%char%";
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.01 sec)
만약 정말 그 랬 으 면 좋 겠 다.일의 발생 은 항상 생각 보다 그렇게 간단 하지 않다.MySQL 서 비 스 를 다시 시작 할 때 대기 상태 에 있 는 것 을 발 견 했 습 니 다.(PS:잠 금 이 꺼 졌 을 것 같 습 니 다.)이 때 실 행 됩 니 다.
mysql -u root -p
이상 던 지기:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
코드 를 수정 하고 싶 었 을 뿐 인 데 왜 이렇게 써->->->->->!!이 문 제 를 해결 할 때 여러 가지 방법 을 시도 해 봤 는데...
sudo /etc/init.d/mysql status
mysql 상태 보기:mysql respawn/post-start, (post-start) process 55665
이런 식 으로 는 문 제 를 해결 할 수 없 으 니 로그 부터 시작 하 자..날짜 파일/var/log/mysql/error.log 찾 음
계속 해결 방법 을 찾다.
답:
[mysqld]하의
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
를default-character-set=utf8'
로 변경자,드디어 MySQL 을 다시 시작 할 수 있 습 니 다.그리고 다시 시작 한 후에 설정 한 인 코딩 이 여전히 유효 합 니 다.
물론 이전에 만 든 데이터 베 이 스 는 T 를 다시 만들어 야 합 니 다.T
character_set_server=utf8
전시 전에 만 든 데이터 인 코딩 은 여전히 latin 1 이기 때 문 입 니 다.총결산
이상 은 이 글 의 전체 내용 입 니 다.본 논문 의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 면 댓 글 을 남 겨 주 십시오.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Ubuntu 22.04에 캐디 설치 - HostnExtra이 기사에서는 Ubuntu 22.04에 Caddy를 설치하는 방법을 설명합니다. 이 문서는 설치 프로세스를 안내하고 웹 사이트를 호스팅합니다. Caddy 웹 서버는 Go로 작성된 오픈 소스 웹 서버입니다. Ubunt...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.