본문 바로가기
개발자의 공부방/데이터베이스 [oracle, mysql …]

MySQL 데이터 삽입 한글 깨짐 & 물음표 feat. 해결방법

by 쌈빡한 쥬니준 2019. 4. 11.

** 썸네일 사진입니다. 봄이니깐 벚꽃! **

 

 

 

 

1. 첫번째 방법

 

1) MySQL 은 C드라이브에 위치해 있음.

경로는 → C:\Program Files\MySQL\MySQL Server 5.7

만약에 위 경로에 my.ini 파일이 없다면

ProgramData 에 MySQL을 들어가서 my.ini 을 복사해서 사용합니다!

↓※ ProgramData 가 보이지 않는다면

...더보기

사진과 같이 폴더창에서 '보기' → '옵션' → 아래와 같이 체크를 합니다!

 

 

** Mysql 위치를 찾자 **
** MySQL Server 5.7 폴더를 들어가자!! **
** my.ini 을 찾았다. 메모장에 끌어와서 열어보자!! **

 

2) 아래 메모장처럼 바꾼다!

 

초록색으로 표시해놓은 라인의 문장 앞에 #을 지웁니다.

# ← 삭제하세욧!! default-character-set=utf8

# ← 삭제하세욧!! datadir=C:/ProgramData/MySQL/MySQL Server 5.7/Data
← 삭제하세욧!! character-set-server=utf8

 

** 삭제를 하고 저장을 한다!! **

3) 끝!

 

 

cmd 에서는 status 입력 후 확인!

** utf8로 바뀌었는지 확인해보자 (저는 되지 않았습니다...) **

 

워크벤치에서는 show variables like 'c%' 입력 후 확인!

** 워크벤치에서는 이렇게 확인하시면 됩니다! **

 

2. 두번째 방법

 

1) 첫번째 방법이 되지 않아서 이 방법을 통해 해결되습니다!

 

alter database [DB명] default character set utf8;

예) alter database member default character set utf8;

 

alter table [테이블명] convert to character set utf8;
예) alter table user convert to character set utf8;

 

MySQL 워크벤치에서 해도 되고, CMD 창에서 해도 되고 상관없습니다!

** 혹시 모르니 참고!! **

 

 

3. 세번째 방법

 

url 쪽에 데이터베이스 이름 다음에

?characterEncoding=euckr&useUnicode=true&mysqlEncoding=euckr

입력을 하시면 됩니다!

만약에 이 부분에서 에러가 나면

& → &

으로 바꿉니다!

	<!-- context-datasource.xml 입니다! -->
 	<bean id ="dataSourceSpied" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
		<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
		<property name="url" value="jdbc:mysql://localhost:3306/데이터베이스이름?characterEncoding=euckr&amp;useUnicode=true&amp;mysqlEncoding=euckr"/>
		<property name="username" value="아이디"/>
		<property name="password" value="비밀번호"/>
	</bean>

 

 

 

 

이렇게 하면 잘 나옵니다!

다음에는 다른 방법도 기술해볼게요!

댓글0