일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 크로스도메인
- #MSA
- java collection
- TreeMap
- Set
- cors
- ArrayList
- #actuator
- CORS policy: No 'Access-Control-Allow-Origin'
- IOT
- db utf8
- com.netflix.zuul.exception.ZuulException: Hystrix Readed time out
- 원격
- mysql 한국어
- #spring boot
- xrdp
- mariadb 다국어
- mstsc
- mariadb 한국어
- Hystrix Read time out
- backtracking
- message protocol
- com.netflix.zuul.exception.ZuulException
- Access-Control-Allow-Origin
- mosquitto
- emqx
- HashMap
- mqtt
- mysql 다국어
- #spring boot admin
- Today
- Total
miin29na
MariaDB/MySql 다국어 지원(utf8, utf8mb4) 본문
MariaDB 에서 컬럼에 한국어 데이터를 저장 -> 다음과 같은 오류 발생
/* SQL 류 (1366): Incorrect string value: '\xEA\xB0\x80"}' for column `database`.`table`.`column` at row 1 */
한국어 뿐 아니라 아시아계 언어들에 대해 오류 발생
설정 확인
mysql> show variables like 'c%';
- 다국어를 처리할 수 있는 UTF-8 저장방식이 있으므로 설정을 해줘야 한다. UTF-8 : 가변 4바이트
- 전세계 모든 언어 문자는 3바이트가 안되므로 공간절약, 속도향상을 위해서는 utf8은 가변 3바이트로 설계 되었다.
- Emoji 같은 새로나온 문자는 utf8 로 지원이 안된다.
- mysql/mariadb 는 version 5.5 이후부터 가변 4바이트 자료형인 utf8mb4 를 추가
해결 1) Table 에만 utf8 적용
ALTER DATABASE [database 이름 ] DEFAULT CHARACTER SET utf8 COLLATE UTF8_GENERAL_CI;
ALTER TABLE [table 이름] CONVERT TO CHARACTER SET utf8 COLLATE UTF8_UNICODE_CI;
-> Table 에만 적용 경우, Join 의 경우 오류 발생. 안전하게 DB 자체에 utf8 적용을 권장!
해결 2) DB engine 자체 utf8 적용
Linux : vi /etc/my.cnf
Windows : my.ini
i) utf8 로 셋팅하는 경우
[mysqld] ... collation-server =utf8_general_ci character-set-server = utf8
[client] ... default-character-set = utf8 |
ii) utf8mb4 로 셋팅하는 경우
[mysqld] ... collation-server =utf8mb4_unicode_ci character-set-server = utf8mb3
[client] ... default-character-set = utf8mb4 |
[mysql/mariadb] utf8mb4 언어셋 및 표현범위
먼저 중요한 두 단어 Charset 과 Collation 의 뜻 charset 은 문자 집합, collation 은 정렬을 뜻한다. UTF-8 이란? 실생활의 대부분의 데이터는 텍스트기반(text-centric)이다. 당연히 실생활의 모든 텍스트 데이..
jechue.tistory.com
'IT > database' 카테고리의 다른 글
[Mysql] MySql 외부 접근 허용 (0) | 2020.02.11 |
---|