MySQL에서 데이터를 삽입한 후 오른쪽 작은따옴표(')가 올바르게 표시되지 않는 경우가 있습니다. 이 문제를 해결하려면 테이블의 문자셋 정렬 규칙(COLLATE)을 'utf8_unicode_ci'로 변경해야 합니다. 아래에서 전체 과정을 단계별로 살펴보겠습니다.
1. 테이블 생성
먼저 예제에 사용할 테이블을 생성합니다.
mysql> create table DemoTable2000
(
Name varchar(20)
);
Query OK, 0 rows affected (0.81 sec)2. COLLATE 변경
다음 ALTER TABLE 쿼리를 사용하여 테이블의 COLLATE를 'utf8_unicode_ci'로 설정합니다.
mysql> ALTER TABLE DemoTable2000 COLLATE='utf8_unicode_ci'; Query OK, 0 rows affected (0.90 sec) Records: 0 Duplicates: 0 Warnings: 0
3. 레코드 삽입
INSERT 명령을 사용하여 이름에 오른쪽 작은따옴표(')가 포함된 레코드들을 테이블에 삽입합니다.
mysql> insert into DemoTable2000 values('Chris’s Brown');
Query OK, 1 row affected (0.09 sec)
mysql> insert into DemoTable2000 values('David’s Miller');
Query OK, 1 row affected (0.67 sec)
mysql> insert into DemoTable2000 values('Robert’s Downey');
Query OK, 1 row affected (0.15 sec)4. 결과 확인
SELECT 문을 사용하여 테이블의 모든 레코드를 조회합니다.
mysql> select * from DemoTable2000;
실행 결과는 다음과 같습니다.
+-------------------+ | Name | +-------------------+ | Chris’s Brown | | David’s Miller | | Robert’s Downey | +-------------------+ 3 rows in set (0.00 sec)
위 출력 결과에서 확인할 수 있듯이, COLLATE를 'utf8_unicode_ci'로 설정한 후에는 오른쪽 작은따옴표(')가 정상적으로 저장되고 표시됩니다. 특수 문자가 포함된 데이터를 다룰 때는 테이블 생성 시점에 적절한 문자셋과 COLLATE를 지정해 두는 것이 좋습니다.