일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 안드로이드 유닛 테스트 예시
- 스택 큐 차이
- android retrofit login
- 2022 플러터 안드로이드 스튜디오
- 서비스 쓰레드 차이
- 클래스
- 서비스 vs 쓰레드
- 객체
- rxjava cold observable
- 안드로이드 레트로핏 사용법
- ANR이란
- rxjava hot observable
- 멤버변수
- jvm이란
- 안드로이드 유닛 테스트
- 자바 다형성
- 안드로이드 라이선스 종류
- android ar 개발
- ar vr 차이
- 안드로이드 레트로핏 crud
- 큐 자바 코드
- Rxjava Observable
- 스택 자바 코드
- 2022 플러터 설치
- 안드로이드 os 구조
- rxjava disposable
- 안드로이드 라이선스
- jvm 작동 원리
- 안드로이드 유닛테스트란
- 플러터 설치 2022
- Today
- Total
나만을 위한 블로그
[PHP] sql 오류 (1366) Incorrect String value 에러 해결 본문
이 에러는 MySQL에서 한글을 읽지 못해서 생긴 오류다.
난 하이디 SQL을 써서 MySQL에 접속하기 때문에 하이디 SQL을 기준으로 설명한다.
이미 테이블을 만들었다고 가정하고, 생성된 테이블을 클릭하면 왼쪽에 옵션 탭이 보인다. 이걸 클릭한다.
그럼 이 화면이 나온다.
기본 조합을 주목해야 한다. 난 latin 뭐시기로 돼 있어서 euckr_korean_ci로 바꿔주었다.
데이터 변환 체크박스도 클릭해서 체크한 다음 밑의 저장을 누른다. 저장 누르면 체크된 게 풀리는데 신경 안써도 된다.
그럼 하단의 박스에 SQL문들이 빠르게 올라가는데 맨 처음 문장이 이것이다.
ALTER TABLE `테이블이름`
COLLATE='euckr_korean_ci',
CONVERT TO CHARSET euckr;
기존에 만들었던 테이블이 euckr_korean_ci로 바뀌었고 charset은 euckr로 바뀌었다. 이게 나왔다면 테이블에 한글을 입력할 수 있게 된다.
이제 쿼리 탭으로 넘어가서 다시 쿼리를 해보면 잘 되는 걸 확인할 수 있다.
외부접속해서 쿼리 때리는 게 아닌 MySQL 쉘에서 작업하는 사람이라면 ALTER 문을 쿼리한 후 quit으로 MySQL을 나온 다음 MySQL 서비스를 재시작하면 된다.
예시를 들어본다. 먼저 테이블은 대충 이렇게 만들었다고 가정한다.
이 상태에서 옵션을 누르면 위 이미지의 윗공간에 바로 이런 화면이 나온다.
테이블 별 데이터 유형과 기본값을 정해준 다음에 옵션을 누르자.
기본 조합 옆을 보면 난 euckr 뭐시기로 돼 있지만 테이블을 처음 만들고 옵션에서 여길 보면 latin1로 돼 있을 것이다.
위 이미지처럼 euckr_korean_ci로 바꾼 다음 데이터 변환을 체크하고 저장한다. 말했다시피 저장 버튼을 누르면 데이터 변환 체크박스의 체크가 해제된다.
그 다음 쿼리 탭을 열어서 INSERT문으로 대충 데이터를 집어넣어본다.
끝
'PHP' 카테고리의 다른 글
[PHP] phpmyadmin Warning in ./libraries/sql.lib.php#613 에러 해결 (0) | 2020.05.15 |
---|---|
[PHP] 포스트맨 사용 시 JSON으로 결과 받는 방법 (0) | 2020.04.30 |
[PHP] General error: 1366 Incorrect string value: '\xEC\xA0\x95\xEC\x9D\xB8...' for column... 에러 해결 (0) | 2020.03.07 |
[PHP] CentOS 7 공유 폴더 만들기 (0) | 2020.02.05 |
[PHP] 네이버 스마트 에디터 2.0 써서 사진과 글 올리기 (0) | 2020.01.27 |