database.sarang.net
UserID
Passwd
Database
DBMS
ㆍMySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MySQL Q&A 29302 게시물 읽기
No. 29302
euckr -> utf8변환시 iconv 변환 오류
작성자
흥흥흥
작성일
2009-09-14 10:48
조회수
9,484

현재 캐릭터 셋이 euckr인 테이블을 utf8로 변환하려 하는데요.


우선 mysqldump -p -uroot --no-create-info --default-character-set=euckr Test > Test_data.sql


이렇게 백업을 받았습니다. 그 다음 백업받은 sql을 


iconv -f euckr -t utf8 Test_data.sql


이렇게 했는데요.


iconv: 5972 위치에 잘못?입력 순서열이 있음


이라고 하면서 오류가 나오네요.


문제가 무엇인지 해결방법좀 알려주세요~

이 글에 대한 댓글이 총 5건 있습니다.

안녕하세요 박성원입니다. 



iconv는 상당히 비추하는 프로그램입니다. 
물런 이넘이 잘만되면 더 할 나위 없이 좋으나 많은 에러를 뱉는데 짜증이 나는 녀석이죠 ^^;;

덤프를 일딴 받으셨으니.. 덤프파일을 PC로 옮기신 후 시중에 풀린 프로그램을 사용하는 방법이 더 좋을듯 합니다.

울트라에디터, 에디트플러스


이두가지를 이용해서 손쉽고 빠르게 변경을 하실 수 있습니다. 


울트라에디터를 추천드리구요 만약 PC에 설치되지 않았다면, 트라이얼버전을 설치하셔도 사용할 수 있기때문에 추천드립니다. 




그럼 건승하시길.. ㅋ

박성원(darkancia)님이 2009-09-14 10:54에 작성한 댓글입니다.

박성원님 말대로 iconv를 비추 한다 하시길래

dump 받은 sql문을 ftp로 pc에 전송하여 울트라에디트로 Ascii 를 Utf-8로 변환 하였습니다.

변환후 다시 ftp로 리눅스 서버로 전송하고 

mysql -p -uroot  < Test_data.sql 을 하여 import 를 시도하였습니다.

그러나 다음과 같은 syntax오류가 또한번 저를 울렸습니다.

ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '癤?
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */' at line 1


변환 전 sql 문은 리눅스 상에서 more 하였을 때 글자 깨짐이 없습니다.
변환 후 sql 문은 리눅스 상에서 more 하였을 때 글자 깨짐이 발생합니다.

글자 깨짐이 발생하면서 import가 안되는것 같은데 좋은 해결책 제시 부탁드립니다.

흥흥흥님이 2009-09-14 14:09에 작성한 댓글입니다. Edit

ㅎㅎ 박성원입니다. 


워~ 너무 업무적인 말투네요 아무리 급하셔도 좀 릭랙스하게 문의를 해주세요 
무섭습니다. ㅋㅋ

--

답변을 달고난 다음 확인해보니 

질문에서는 "euckr인 테이블을 utf8로 변환하려" 한다고 하셨는데

아래 질문에서는

"울트라에디트로 Ascii 를 Utf-8로 변환 하였습니다" 라고 하셨네요

파일 포멧을 euckr에서 utf8로 변경하셔야 됩니다. 안그러면 깨지지요 ^^;;

----

아래 답변은 포멧 변경을 재대로 했을 경우 발생한 문제점에 대한 대답입니다. ;;

사실 이걸 먼저 써버려서 지울수가 없네요 ㅋㅋ



파일을 윈도우에 가져오면서 문제가 발생한듯한데요 ;;

파일 전송을 binary방식으로 진행하셨는지가 궁금하네요 


일반 리눅스에서 사용하는 ftp 유틸은 바이너릐 모드를 지정해야합니다. 

그렇지 않을때는 글자가 깨질 수 있습니다. 

또한, 원문자체에서 파일이 깨져잇는 경우에는 문자셋을 변경하였을 경우
동일한 문자열 혹은 오류의 문자열이 그대로 남습니다. 


dump 하신 Query를 서비스 장비나 잉여장비에 풀어보시고 
문제가 없는지 확인을 해보시는게 좋을 듯합니다.


박성원(darkancia)님이 2009-09-14 14:31에 작성한 댓글입니다.
이 댓글은 2009-09-14 14:34에 마지막으로 수정되었습니다.

딴지는 아닌데, iconv를 비추하신다면 캐릭터셋 변환에 어떤 프로그램을 사용하시는지요?

울트라 에디터나 에디트 플러스 내부에 포함되어 있는 변환 도구가 iconv일 확률이 높습니다. (libiconv)
iconv는 현존하는 거의 모든 리눅스와 Mac OS X에 번들되어 있습니다.

그리고 EUC-KR 에서 > UTF-8 으로의 변환은 그 반대의 변환에 비해 훨씬 안전합니다.



( 질문글과 관계 없는 덧글을 달아 죄송합니다. ^^ )

박현우(lqez)님이 2009-09-14 15:47에 작성한 댓글입니다.
이 댓글은 2009-09-14 15:48에 마지막으로 수정되었습니다.

ㅎㅎ 

제가 말씀드린 iconv는 리눅스상에서 제공되는 Util을 말씀드린것입니다. 


사실 몇번 써보긴햇는데 잘 되지도 않고 중간중간에 문제가 발생하더라구요
(Query가 깨지는 현상이 발생함...ㅡ_-;;)


울트라 에디터나 에디트 플러스에 포함된 변환도구가 iconv인지는 저도 몰랐으나 

dump파일을 가지고 와서 윈도우에서 변환해보니 훨씬 쉽게 잘되길래

그 방식을 추천해드리거임 사실 100% 개인취향이에요 ㅋㅋ



사실 iconv의 사용법을 잘몰라서 그런거일지도 orz... 





박성원(darkancia)님이 2009-09-15 14:27에 작성한 댓글입니다.
이 댓글은 2009-09-15 14:39에 마지막으로 수정되었습니다.
[Top]
No.
제목
작성자
작성일
조회
29305아. oracle dbms_output 이나 mssql print...
이상현
2009-09-15
7858
29304중국 DB 구축시 캐릭터셋
흥흥흥
2009-09-14
6216
29303공백으로 문자열 구분 [2]
정광윤
2009-09-14
6088
29302euckr -> utf8변환시 iconv 변환 오류 [5]
흥흥흥
2009-09-14
9484
29300MS Acess처럼 외래키로 여러값을 받을 수 있을까요?? [1]
Deck
2009-09-12
5812
29299프로시저가 뭔지 궁금합니다 [2]
Deck
2009-09-11
6882
29298서브쿼리에 대해서 질문좀 드릴게요... [3]
Deck
2009-09-11
5654
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.020초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다