πΎ[Database] MySQL DBμ νκΈ μ½μ .
- νκΈμ MySQL λ°μ΄ν°λ² μ΄μ€μ μ½μ
νλ €κ³ ν λ λ°μνλ μ€λ₯λ μ£Όλ‘ λ°μ΄ν°λ² μ΄μ€, ν
μ΄λΈ λλ μ΄μ λ¬Έμ μΈνΈμ κ΄λ ¨ μμ΅λλ€.
- μ΄ λ¬Έμ λ₯Ό ν΄κ²°νκΈ° μν΄μλ λ°μ΄ν°λ² μ΄μ€μ ν μ΄λΈμ λ¬Έμ μΈνΈλ₯Ό UTF-8λ‘ μ€μ ν΄μΌ ν©λλ€.
πββοΈ λ°μ΄ν°λ² μ΄μ€μ ν μ΄λΈμ λ¬Έμ μΈνΈλ₯Ό UTF-8λ‘ μ€μ νλ λ°©λ².
1οΈβ£ λ°μ΄ν°λ² μ΄μ€ μμ± μ λ¬Έμ μΈνΈ μ€μ .
CREATE DATABASE {λ°μ΄ν°λ² μ΄μ€ μ΄λ¦} CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
2οΈβ£ κΈ°μ‘΄ λ°μ΄ν°λ² μ΄μ€μ λ¬Έμ μΈνΈ λ³κ²½.
ALTER DATABASE {λ°μ΄ν°λ² μ΄μ€ μ΄λ¦} CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
3οΈβ£ ν μ΄λΈ μμ± μ λ¬Έμ μΈνΈ μ€μ .
CREATE TABLE test (
id INT AUTO_INCREMENT PRIMARY KEY,
content TEXT
) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
4οΈβ£ κΈ°μ‘΄ ν μ΄λΈμ λ¬Έμ μΈνΈ λ³κ²½.
ALTER TABLE test CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
5οΈβ£ κ° μ΄μ λ¬Έμ μΈνΈ νμΈ λ° λ³κ²½.
ALTER TABLE test MODIFY content TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
6οΈβ£ MySQL μλ²μ κΈ°λ³Έ λ¬Έμ μΈνΈλ₯Ό λ³κ²½.
- my.cnf(λλ my.ini) νμΌμ μμ νμ¬ κΈ°λ³Έ λ¬Έμ μΈνΈλ₯Ό utf8mb4λ‘ μ€μ ν©λλ€.
- λ³΄ν΅ μ΄ νμΌμ
/etc/my.cnf
λλ/etc/mysql/my.cnf
μ μμΉν΄ μμ΅λλ€.
- λ³΄ν΅ μ΄ νμΌμ
- my.cnf νμΌμ λ€μ λ΄μ©μ μΆκ°ν©λλ€.
```ini
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
### 7οΈβ£ MySQL μλ² μ¬μμ.
```shell
sudo systemctl restart mysqld
- μ΄μ νκΈμ ν¬ν¨ν λ°μ΄ν°λ₯Ό λ°μ΄ν°λ² μ΄μ€μ μ½μ
ν μ μμ κ²μ
λλ€.
- μλ₯Ό λ€μ΄, νκΈ λ°μ΄ν°λ₯Ό μ½μ
νλ €λ©΄:
INSERT INTO test (content) VALUES ('ν μ€νΈ λ°μ΄ν°');
- μλ₯Ό λ€μ΄, νκΈ λ°μ΄ν°λ₯Ό μ½μ
νλ €λ©΄:
- μ΄ λ°©λ²μΌλ‘ UTF-8 μ€μ μ μ μ©νλ©΄ νκΈ λ°μ΄ν°λ₯Ό MySQL λ°μ΄ν°λ² μ΄μ€μ λ¬Έμ μμ΄ μ μ₯ν μ μμ΅λλ€.