본문 바로가기

Database/MySQL & MariaDB

[MySQL & MariaDB] MySQL & MariaDB 한글 깨짐, 한글 물음표(?) 출력 문제

개요

새로운 Egov 프로젝트를 받아 테스트를 해보던 중 쿼리 실행 시 한글이 
물음표(?)로 깨지는 오류가 발생했습니다.

 

이유

해당 문제는 DB의 인코딩 문제입니다.

 

해결법

인코딩을 UTF-8이나 한글을 인식할 수 있는 유니코드로 바꿔줘야 합니다.

쿼리로 해결할 수 있지만 일시적이기 때문에 my.ini 파일을 수정해 영구적으로 변경해 주겠습니다.

 

  1. DB 폴더의 data로 이동해 my.ini 파일을 열어줍니다.
    ( 윈도 검색창에 mysql 검색 후 폴더위치 열기로 열어줘도 찾을 수 있습니다 )


    my.ini 파일을 메모장으로 열면 다음과 같습니다.
    ( 현재 my.ini 파일의 내용은 달라도 상관없습니다.)




  2. my.ini 파일에 다음 내용을 추가해 주고 저장해 줍니다.
    [mysqld]
    ..
    #하단추가
    init_connect="SET collation_connection = utf8_general_ci"
    init_connect="SET NAMES utf8"
    character-set-server = utf8
    collation-server = utf8_general_ci
    
    [client]
    ..
    #하단추가
    default-character-set = utf8
    
    [mysqldump]
    ..
    #하단추가
    default-character-set = utf8
    
    [mysql]
    ..
    #하단추가
    default-character-set = utf8​


    수정된 my.ini 내용은 이렇습니다


  3. db 재실행

    DB 재실행 방법은 다음 링크를 참고해 주세요.
    https://junhere.tistory.com/11


 

[MySQL & MariaDB] Windows MySQL & MariaDB 재시작

개요 Windows 에서 MySQL 과 MariaDB 재시작하는 방법 (아래 내용은 MariaDB를 예로 들었지만 MySQL도 똑같이 해주면 됩니다.) 방법 윈도우 서비스로 다시 시작 cmd로 다시 시작 윈도우 서비스로 다시 시작

junhere.tistory.com



문제 해결

이제 언어 셋을 보면 UTF-8로 변경된 것을 확인할 수 있습니다.

 

 

쿼리를 실행해 주면 정상적으로 한글이 저장됩니다.

 

 

 

 

 

728x90

'Database > MySQL & MariaDB' 카테고리의 다른 글

[MySQL & MariaDB] Windows MySQL & MariaDB 재시작  (0) 2024.03.19