character set 때문에 짜증 낫던 기억들 있으세요?

red10won의 이미지

저도 이것때문에 골치 아팠던적이 한두번도 아니였는데

다른분들도 그랬나요 ?

mycluster의 이미지

지금도 머리아프죠...
원본은 멕시코애들이 iso8859로만 만들어둔 거를, 한국말을 넣을려고 해서 euc-kr로 바꾸니, 중국말, 일본말이 걸리고, utf-8로 바꾸니, 이번에는 DB가 euc-kr로만 저장이되고...

결국 소스는 전부 utf-8로 바꾸고, DB입력되는 부분은 euc-kr로 insert 및 업데이트하고, 중국말 버전과 일본말 버전을 분리해서, 중국말 버전은 euc-cn으로 일본말 버전은 euc-jp로 바꾸는 개삽질 수행...

윈도에 있는 ADODB(용어가 맞나)는 utf-8로는 저장이 안되고, 오에스버전의 코드페이지를 따라가나봐요.

--------------------------------
윈도위의 리눅스 윈도위의 윈도우 리눅스위의 익스플로러

--------------------------------
윈도위의 리눅스 윈도위의 윈도우 리눅스위의 익스플로러

kirrie의 이미지

lamp에 한 이삼년 전부터 묻지도 않고 따지지도 않고 모든 데이터를 일관성있게 utf-8로 인코딩해서 사용해
왔기 때문에 캐릭터셋때문에 고생해본 적은 없습니다.

단, 한글 파일명이 utf-8로 인코딩 되어 있는 경우 모든 버전의 ie가 다운로드를 못하는 문제가 있어서
이때만 한글 파일명을 euc-kr(cp949)로 인코딩해서 씁니다. (멋진 ff는 euc-kr이던 utf-8이던 묻지도 따지지도 않고 잘 받아줍니다. ㅎㅎ)
--->
데비안 & 우분투로 대동단결!

--->
데비안 & 우분투로 대동단결!

송효진의 이미지

kirrie의 이미지

한참 생각했습니다. 굉장히 교묘한 방법이네요. ㅎㅎ (그리고 이렇게 하면 제가 말한 문제를 회피할 수도 있겠군요!)
--->
데비안 & 우분투로 대동단결!

--->
데비안 & 우분투로 대동단결!

박민권의 이미지

좋은 정보가 되었습니다.

송효진의 이미지

잘못된 인코딩으로 들어있다거가 한 것을 (cp949 정보를 latin1 세팅으로 넣는다거나)
제가 맡게되어 골치가 아팠던 적이 있습니다만,
그 외의 경우는 골치가 안아프네요.

그러고보니 mysql 4.0, 4.1 시절에도 골치가 아팠군요.

emerge money
http://wiki.kldp.org/wiki.php/GentooInstallSimple - 명령어도 몇 개 안돼요~
http://xenosi.de/

samsee의 이미지

저도 LAMP빠인데 L 부터 M 까지가 각각 charset을 별도로 설정하니 머리가 아프죠. 웹개발이 보편화 되면서 자주 부닥치게 된 문제 같아요. 운영체제, 데이터베이스, 프로그래밍언어 복잡합니다.
얼마 전에는 자바스크립트에서 그..특수문자 지워주는 함수를 썼더니 utf로 바꿔버리더군요. 또 인코딩 문제인가 했습니다.
자바 책이나 그런데 설명 봐도 잘 모르겠더군요.

warpdory의 이미지

기존에 구축된 자료... 이런 것들 땜에..
당분간은 euc-kr 로 통일입니다.

언젠가는 euc-kr 에서 유니코드(그게 utf8 이든 utf16 이든 utf1719824712 이든 ..) 로 넘어가겠지만 ...

구축된 자료가 워낙 많다보니... 그거 변환하는 것도 장난이 아닙니다.

차라리 큰 파일 몇개.. 이래서 1 테라 .. 이러면 별것 아니지만, 수십만개의 디렉터리에 수천만개의 파일들이 모두 euc-kr(파일이름, 내용 모두...) 인데.. 이걸 변환하기란 쉽지가 않죠.

ps. 젠장 .. 내가 왜 저 서버를 떠 맡아서 ....

---------
귓가에 햇살을 받으며 석양까지 행복한 여행을...
웃으며 떠나갔던 것처럼 미소를 띠고 돌아와 마침내 평안하기를...
- 엘프의 인사, 드래곤 라자, 이영도

즐겁게 놀아보자.
http://akpil.egloos.com


---------
귓가에 햇살을 받으며 석양까지 행복한 여행을...
웃으며 떠나갔던 것처럼 미소를 띠고 돌아와 마침내 평안하기를...
- 엘프의 인사, 드래곤 라자, 이영도

즐겁게 놀아보자.

glay의 이미지

SE 로 일하면서 기존 euc-kr 을 utf-8 등으로 변환하는 업무를 많이

맡아 왔습니다만.

뭐 스크립등으로 euc-kr 을 utf-8 등으로 소스단을 다 변경하고

그리고 mysql 에 저장되어 있는 데이타를 변경하고;;

어떻게 보면 단순하고 그 과정이 쉽습니다.

그런데 잘못된 개발자의 습관때문에 문제가 되는 경우가 90% 이상인것 같습니다.

mysql 3.23.x 와 4.0.x 시절에는 latin1 등으로 대충 쓰고 살다가

mysql 4.1.x 의 시작과 동시에 character set 문제가 불거졌는데요.

이때부터는 시스템의 디폴트 셋팅과 기타 환경을 마추어줘야 한다는것이죠.

지금도 db connect 시 set names 를 꼭 날려주는 분들 찾기 힘듭니다.

그동안 그렇게 해오지 않았기 때문에 해야할 이유를 모르는데요.

한 mysql 서버에 euc-kr 과 utf-8 그리고 또 다른 character set 이 공존하기

위해서 그리고 나중에 db 를 옮기거나 서버를 옮기고 사이트를 옮기는 작업시에

아주 편한데 말이죠.. 항상 시스템 디폴트에 의존하는것 같습니다.

그러다 보니 내가 편해기지 위해선 utf-8 전용 서버와 euc-kr 전용서버

이렇게 하는것이 편한데.. 어떻게 보면 시스템 낭비 같습니다.

개발자들이 수정해주질 않으니 ㅡㅜ

이글을 읽는 개발자분들도 set names 날리는거 잊지 말고 작업했으면 좋겠어요.

--------------- 절취선 ------------------------
하늘은 스스로 삽질하는 자를 삽으로 팬다.

http://glay.pe.kr


--------------- 절취선 ------------------------
하늘은 스스로 삽질하는 자를 삽으로 팬다.

http://glay.pe.kr

송효진의 이미지

apache & php 라면,
php 설정에
;mysql.connect_charset = utf8
;mysqli.connect_charset = utf8
;pdo_mysql.connect_charset = utf8
이런게 있습니다. (젠투 외의 배포판은 확인 안해봤습니다.)

그리고 apache 에 php_admin_value 라는 설정으로 버철호스트 별로 설정 가능하죠.

emerge money
http://wiki.kldp.org/wiki.php/GentooInstallSimple - 명령어도 몇 개 안돼요~
http://xenosi.de/

glay의 이미지

오..

mysql.connect_charset 이런것이 있었군요.

이건 꼭 태스트 해봐야 겠습니다.

이게 제데로 된다면 앞으로 편해지겠네요.

( centos 에 들어있는 php.ini 에는 해당 설정이 안보이는군요;;; )

--------------- 절취선 ------------------------
하늘은 스스로 삽질하는 자를 삽으로 팬다.

http://glay.pe.kr


--------------- 절취선 ------------------------
하늘은 스스로 삽질하는 자를 삽으로 팬다.

http://glay.pe.kr

송효진의 이미지

CentOS 의 my.cnf 를 볼 때 ini 를 신경 안쓰는거라 생각되기도 합니다.
일단 설정을 해서 테스트까지 해보세요.

emerge money
http://wiki.kldp.org/wiki.php/GentooInstallSimple - 명령어도 몇 개 안돼요~
http://xenosi.de/

glay의 이미지

mysql.connect_charset 옵션 자체는 php 5.1.x 에는 없는것이군요.

대부분의 서버가 centos 이다 보니 ;; 5.1.6-x 버전에는 해당옵션이 없네요.

5.2.x 에는 있는걸 확인했습니다.

--------------- 절취선 ------------------------
하늘은 스스로 삽질하는 자를 삽으로 팬다.

http://glay.pe.kr


--------------- 절취선 ------------------------
하늘은 스스로 삽질하는 자를 삽으로 팬다.

http://glay.pe.kr

김정균의 이미지

흠 정확히 어느 버전 부터인지는 모르겠지만, 요즘의 5.0 버전은 my.cnf 에

character-set-client-handshake = 0

옵션을 주시면 굳이 set names 하지 않아도 별 문제가 되지 않습니다.

khris의 이미지

현재 진행중입니다.

samba로 비스타 깔린 노트북에 파일을 올렸는데 나중에 보니 파일명이 다 깨져있더군요. 삼바 인코딩 셋팅까지 해줬는데 비스타는 아닌가봅니다 oTL. 백업 용도로 파일을 전송한거라 용량도 장난 아니고해서 인코딩을 변경하는 쪽으로 생각중이지만... 단순히 utf-8 -> cp949 가 아닌지 convmv 같은걸 돌려봐도 답이 안나옵니다.

utf-8을 cp949로 바꾼걸 비스타에서 utf-8으로 받아들였다거나 한거 같은데... -_-;; 아무래도 파이썬 등으로 실험해본 후 손수 파일명 변경 스크립트 작성해야겠습니다.

───────────────────────
yaourt -S gothick elegant
khris'log :: http://khrislog.net

───────────────────────
yaourt -S gothick elegant
khris'log

송효진의 이미지

올라간것 지우고, 삼바설정 제대로 해서 다시 올리면 됩니다.
안깨져요.
음... 올리기로 하지말고, 삼바를 서버로 하고 받기로 해보세요.
그게 쉬울것같습니다.

emerge money
http://wiki.kldp.org/wiki.php/GentooInstallSimple - 명령어도 몇 개 안돼요~
http://xenosi.de/

khris의 이미지

그렇게 하기가 힘든게 용량이 수십기가입니다. oTL 전송하는 측 머신 하드상태가 불량해서 속도도 매우 느려서요...

재전송은 최후의 보루로 삼고있는 중입니다.

───────────────────────
yaourt -S gothick elegant
khris'log :: http://khrislog.net

───────────────────────
yaourt -S gothick elegant
khris'log

송효진의 이미지

그럼 용량과 md5sum 으로 파일명 목록을 만든 담에,
응용프로그램으로 rename 스크립트를 작성...-_-;;;;

emerge money
http://wiki.kldp.org/wiki.php/GentooInstallSimple - 명령어도 몇 개 안돼요~
http://xenosi.de/

khris의 이미지

...아 그러면 되겠군요 ㅠㅠ

아무래도 전 바보인듯합니다 흑흑;

───────────────────────
yaourt -S gothick elegant
khris'log :: http://khrislog.net

───────────────────────
yaourt -S gothick elegant
khris'log

송효진의 이미지

저는 그래도 귀찮으니까 재전송을 택할 사람입니다.
그래서 농담삼아서 엄청 귀찮은 것을 제시했는데,
안귀찮으신가보군요. ㄷㄷㄷㄷㄷ

emerge money
http://wiki.kldp.org/wiki.php/GentooInstallSimple - 명령어도 몇 개 안돼요~
http://xenosi.de/

khris의 이미지

귀찮은 솔루션 이었나요;

또 몇시간동안 컴퓨터 두대 앞에 앉아서 제대로 된 작업 못하고 파일 얼마나 전송됐나- 보는거 지켜보는것보단 덜 귀찮은거 같습니다 ㅎㅎ.

───────────────────────
yaourt -S gothick elegant
khris'log :: http://khrislog.net

───────────────────────
yaourt -S gothick elegant
khris'log

송효진의 이미지

글 쓰신 간격을 보니 벌써 다 하신 모양이군요.ㄷㄷㄷㄷㄷ

emerge money
http://wiki.kldp.org/wiki.php/GentooInstallSimple - 명령어도 몇 개 안돼요~
http://xenosi.de/

khris의 이미지

아뇨 아쉽게도 회사라서 업무 위장좀 했습니다. 빨리 퇴근하고 싶어지는 금요일이군요;

───────────────────────
yaourt -S gothick elegant
khris'log :: http://khrislog.net

───────────────────────
yaourt -S gothick elegant
khris'log

khris의 이미지

부끄럽기 짝이 없게도 반자동(즉 반수동)으로 했습니다; ls 로 파일목록 뽑고 기존의 파일명 일괄변경 유틸리티로 변경하는 반 노가다를... 깨진 파일이 얼마 없는 탓도 있었지만요.

팡으로는 좀 더 부지런 해져서 도구를 알아서 만들어쓰는 착한 개발자가 되도록 노력해야겠습니다 ㅠ_ㅠ.

p.s. 근데 Drupal은 세이지 기능 없나요? 이런 리플때문에 게시물이 위에 올라오는것도 좀 그래서;

───────────────────────
yaourt -S gothick elegant
khris'log :: http://khrislog.net

───────────────────────
yaourt -S gothick elegant
khris'log

bushi의 이미지

전 세계적으로 얼마나 많은 사람이 짜증을 냈겠습니까. 그러다보니 unicode 가 만들어진 거고.

개인적으론 http://kldp.org/node/80722 같은 경우가 제일 짜증납니다.
한국에서는... unicode 때문에 오히려 짜증이 더 증가하는 경향이 있습니다.
세상에 MS windows 만 있는 줄아는 자들과 어울려살려면 euckr 이나 ms949 로 대동단결하는 게 좋을 듯.
MS windows 가 스스로 바꾸면 간단하게 없어질 문제들인데,
현재는 MS windows 를 제외한 모든 것들을 바꿔서 돌아가게 만들죠.

OTL

송효진의 이미지

제가 잘 몰라서 그러는건지도 모르겠는데,
MS Windows 자체는 XP 부터 (2000?) Unicode 로 완전히 전향되었고,
Win32API 들도 맨 뒤에 W 가 붙는 함수들이 모두 있습니다.
단지 이전 함수들과의 호환성을 위해 이전의 지역코드 함수를 A 를 붙여서 만들고,
아무것도 안붙는 함수를 거기에 링크걸어놨죠.

CreateFile -> CreateFileA
CreateFileW

IE6 은 엄청난 문제가 있지만 유니코드에 국한된 문제가 아니라서 논외...

emerge money
http://wiki.kldp.org/wiki.php/GentooInstallSimple - 명령어도 몇 개 안돼요~
http://xenosi.de/

khris의 이미지

네, 위의 송효진님 말씀대로 윈도우즈는 이미 유니코드 기반으로 돌아가고 있습니다. ...단 내부 한정입니다. 겉으론 각 국가별 인코딩을 사용합니다.

근데 이건 MS탓만 할 문제도 아닙니다. 개발자들이 다국화 지원에 너무 무심해서 TCHAR등의 MS의 최소한의 배려사항 (-_-; ) 조차 쓰지 않는 문제도 있고 어플리케이션을 유니코드 기반이 아닌 멀티바이트 기반으로 짜기 때문이기도 합니다.

───────────────────────
yaourt -S gothick elegant
khris'log :: http://khrislog.net

───────────────────────
yaourt -S gothick elegant
khris'log

zepinos의 이미지

FTP 에서도 문제가 발생합니다.

기존에 CentOS & proftpd 현재는 ubuntu & proftpd 에 UseUTF8 옵션을 켜놓고 사용을 합니다.

그런데 질-_-할맞은 알FTP 님께서는 과감하게 한글 다 깨뜨려 먹어주십니다. (파일 전송 오류 문제로 쓰지 말라고 해도 컴맹 뿐만 아니라 개발자들도 이거 쓰고 있으면 화딱질 납니다)

게다가 IE 나 FF 에서 그냥 ftp:// 로 들어가도 한글 다 깨집니다.(MS 윈도우즈 기준)

열불 터지죠.

그리고 제가 고문 쪽 취급을 좀 해서...Unicode 뿐만 아니라 추가된 한자 등도 취급하는데...이 때 가끔 문제가 생깁니다. 바로 폰트 문제인데요...

동일한 한자가 다른 주소값을 가지기 때문에 동일한 한자로 보이지만 실제 검색시 검색이 안될 때가 많습니다.

대부분 아래한글에서 작업해서 붙여넣기 한 경우고...

게다가 오피스 등에 기본으로 들어있는 새굴림, 새바탕도 버젼이 있어서...폰트 파일에 따라서 파일이 안보이거나(차라리 이게 나음) 엉뚱한 글자가 나올 때가 있습니다.

진짜 환장합니다.

agstanti의 이미지

웹에서 사전 IPA 발음 기호 이미지
사전 데이터, uhc
각종 국내 홈페이지 euc-kr
웹에서 한글 파일 다운 받을 때.

한글 폰트 옛한글 PUA
한글 폰트 완성형 인코딩
이상하게 인코딩을 한 몇몇 한글 폰트류.

웹에서 플래쉬 한글 euc-kr
자바 애플릿 euc-kr
영화 자막 파일 uhc

uhc euc-kr 혼용으로 인한 오류

ftp, telnet euc-kr

우리나라 현재 3가지 코드 모두 지원합니다.
euc-kr, uhc, utf8
지원이 너무 좋아서 앞으로 짜증나는 일이 줄어들 것 같습니다.

mmx900의 이미지

html에서 인코딩을 지정하는 meta 태그가 나오기 전에 title 태그에 한글을 썼다가 문서 전체가 깨져 나와서 한참 헤멘거나...
비주얼 스튜디오에서 만든 파일에 BOM이 자동으로 들어가는 것 때문에 여러가지 문제를 겪은거나...
생각해보니 끝이 없군요.
가장 최근의 일은 스마트폰(WM)을 M4655에서 M490으로 기변했는데 주소록 옮겨놓고 기존 것들을 지웠다가 나중에 다시 보니 메모 부분의 한글만 다 깨져있어서... OTL... 했던 기억이 있습니다.

Setzer Gabbiani

Setzer Gabbiani