티스토리 뷰

apmsetup 으로 apache,php,mysql 을 설치를 하고 php 프로그래밍을 하다보면 mysql DB를 사용할 경우가 생긴다. 


그냥 아무생각 없이 테이블을 만들고 insert 쿼리를 보내면 보란듯이? 한글이 깨져있는 경우를 볼 수 있다.


왜그러지.. 하고 한참을 고민 했는데 이유를 발견했다.


그냥 보통 테이블을 만들때 아래와 같이 한다.


create table sc_sports(

gubun varchar(10)

,id varchar(20)

,time varchar(10)

,name1 varchar(50)

,name2 varchar(50)

,now varchar(20)

);


이렇게 그냥 일반적인 쿼리를 mysql 로 보내면 한글이 깨진다.


gubunidtimename1name2now
수정hockey3232447412:30???????2017-01-22 12:41:50

왜냐하면 


phpmyadmin으로 들어가서 방금 만든 테이블을 내보내기로 해서 봐보면


CREATE TABLE IF NOT EXISTS `sc_sports` (

  `gubun` varchar(10) DEFAULT NULL,

  `id` varchar(20) DEFAULT NULL,

  `time` varchar(10) DEFAULT NULL,

  `name1` varchar(50) DEFAULT NULL,

  `name2` varchar(50) DEFAULT NULL,

  `now` varchar(20) DEFAULT NULL

) ENGINE=MyISAM DEFAULT CHARSET=latin1;


이런식으로 되어 있다.

DEFAULT CHARSET을 지정하지 않으면 기본값으로 latin1으로 된다.

그래서 한글이 깨진것이다.

그래서 아래와 같이 테이블을 만든다.


create table sc_sports(
gubun varchar(10)
,id varchar(20)
,time varchar(10)
,name1 varchar(50)
,name2 varchar(50)
,now varchar(20)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;


ENGINE=MyISAM DEFAULT CHARSET=utf8;

이것을 붙이면 된다.^^

gubunidtimename1name2now
수정hockey3232447412:30산호세콜로라도2017-01-22 12:43:34


댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
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
글 보관함