[์งˆ๋ฌธ] euc-kr ์„ utf-8๋กœ ๋ณ€๊ฒฝํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

3,693 views
Skip to first unread message

์ฅฌ๋“œ

unread,
Feb 23, 2012, 2:50:09โ€ฏAM2/23/12
to golang-korea
๋”ฑํžˆ ๋‹ค๋ฅธ ๊ณณ์—๋‹ค ์งˆ๋ฌธ์„ ์˜ฌ๋ฆด ๋ฐ๊ฐ€ ์—†์–ด์„œ์š”
golang ์ปค๋ฎค๋‹ˆํ‹ฐ๊ฐ€ ์žˆ๋Š” ๊ฒƒ๋„ ์•„๋‹ˆ๊ณ  ์™ธ๊ตญ์—๋‹ค ์˜ฌ๋ฆฌ์ž๋‹ˆ ์˜์–ด๊ฐ€ ์งง๊ณ ..

charset convert ๊ด€๋ จํ•ด์„œ ์•„๋ฌด๋ฆฌ ๊ฒ€์ƒ‰์„ ํ•ด๋„ ๋พฐ์กฑํ•œ ๋‹ต๋ณ€์ด ์—†์–ด์„œ 3์ผ ๋™์•ˆ ๊ณ ๋ฏผ ๋์— ์งˆ๋ฌธ์„ ์˜ฌ๋ฆฌ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

http://code.google.com/p/go-charset/
http://code.google.com/p/mahonia/

๋‘๊ตฐ๋Œ€ ์บ๋ฆญํ„ฐ ์…‹ ๋ณ€๊ฒฝ ๊ด€๋ จํ•œ ์†Œ์Šค๊ฐ€ ์žˆ๋Š”๋ฐ์š”.

ํ•œ๊ตฐ๋ฐ๋Š” euc-kr์„ ์ง€์›์•ˆํ•˜๊ณ , ๋‘˜๋‹ค ์†Œ์Šค ํŒŒ์•…๋„ ํž˜๋“  ์ƒํƒœ๋ผ ํ˜„์žฌ ์žํฌ์ž๊ธฐ ํ•œ ์ƒํƒœ์ž…๋‹ˆ๋‹ค.

ํŠน์ • ์‚ฌ์ดํŠธ์— html์„ ๊ฐ€์ ธ์™€ ํŒŒ์‹ฑํ•˜๊ณ  ์›ํ•˜๋Š” ๊ฐ’๋งŒ์„ ๋ฝ‘์•„์™€์„œ ํ†ต๊ณ„์ž‘์—…ํ•˜๋Š” ๊ฐ„๋‹จํ•œ ํ”„๋กœ๊ทธ๋žจ์ž…๋‹ˆ๋‹ค.
์šฐ๋ฆฌ๋‚˜๋ผ ์‚ฌ์ดํŠธ์— html์€ ๋ณดํ†ต euc-kr ์•„๋‹ˆ๋ฉด utf-8๊ฐ€ ๋Œ€๋ถ€๋ถ„์ธ๋ฐ์š”.
utf-8์€ ๋ฌธ์ œ๊ฐ€ ์—†์ง€๋งŒ euc-kr์€ []byte๋กœ ๋ฐ›์•„์„œ ์ด๊ฑธ utf-8๋กœ ๋ณ€ํ™˜ํ•˜๋Š”๊ฒŒ ์‰ฝ์ง€๊ฐ€ ์•Š๋„ค์š”.

๊ด€๋ จ ๊ธฐ๋Šฅ์„ ์ฐพ์•„๋ด๋„ ์œ ๋‹ˆ์ฝ”๋“œ์—์„œ utf-8๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๋ฐฉ๋ฒ•๋งŒ ๋‚˜์˜ฌ ๋ฟ
euc-kr > ์œ ๋‹ˆ์ฝ”๋“œ ๋‚˜ euc-kr > utf-8๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ์†Œ์Šค๋Š” ์—†๋”๊ตฐ์š”..
golang ์†Œ์Šค๋Š” ๋ฐ”๋ผ์ง€๋„ ์•Š์Šต๋‹ˆ๋‹ค. c๋‚˜ c++์†Œ์Šค๋„ ์•ˆ๋ณด์ด๋”๋ผ๊ตฌ์š”..

์ž๋ฐ”๋Š” ํ•œ์ค„์ด๋ฉด ๋˜๋Š”๋ฐ.... ์ž๋ฐ” ๊ฐœ๋ฐœ๋งŒํ•˜๋‹ค๊ฐ€ golang์„ ํ•˜๋‹ˆ ์‰ฝ์ง€๊ฐ€ ์•Š๋„ค์š” ^^
ํ˜น์‹œ ์ œ๊ฐ€ ๋ชจ๋ฅด๋Š” ์†์‰ฌ์šด ๋ฐฉ๋ฒ•์ด ์—†์„๊นŒ์š”?

ํ•œ์ •์ผ

unread,
Feb 23, 2012, 4:24:14โ€ฏAM2/23/12
to golang...@googlegroups.com
์•ˆ๋…•ํ•˜์„ธ์š”.
C/C++์—์„œ ์บ๋ฆญํ„ฐ ์…‹ ๋ณ€ํ™˜์€ libiconv ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋งŽ์ด ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์˜คํ”ˆ ์†Œ์Šค์ด๋‹ˆ ์ฝ”๋“œ๋Š” ์ž์œ ๋กญ๊ฒŒ ์‚ดํŽด๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

http://www.gnu.org/software/libiconv/

์ œ๊ฐ€ Go ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•ด ๋ณธ์ ์ด ์—†์–ด์„œ ๋™์ž‘์ด ๋˜๋Š”์ง€ ์—ฌ๋ถ€๋Š” ์•Œ ์ˆ˜ ์—†์ง€๋งŒ ์•„๋ž˜์˜ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•œ๋ฒˆ ์‚ดํŽด๋ณด๋Š” ๊ฑด ์–ด๋–จ๊นŒ์š”? :)

https://github.com/oibore/go-iconv


2012๋…„ 2์›” 23์ผ ์˜คํ›„ 4:50, ์ฅฌ๋“œ <jud...@gmail.com>๋‹˜์˜ ๋ง:

--
* ์ด ๊ทธ๋ฃน์— ์ด๋ฉ”์ผ๋กœ ๊ฒŒ์‹œํ•˜๋ ค๋ฉด ๋‹ค์Œ ์ฃผ์†Œ๋กœ ์ด๋ฉ”์ผ์„ ๋ณด๋‚ด์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.
ย golang...@googlegroups.com
* ์ถ”๊ฐ€ ์˜ต์…˜์„ ๋ณด๋ ค๋ฉด http://groups.google.com/group/golang-korea?hl=ko?hl=ko์˜ ๊ทธ๋ฃน์„ ๋ฐฉ๋ฌธํ•˜์„ธ์š”.

์ฅฌ๋“œ

unread,
Feb 23, 2012, 5:55:01โ€ฏPM2/23/12
to golang-korea
๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์œ ์šฉํ•˜๊ฒŒ ์ž˜ ์“ธ๊ฒƒ ๊ฐ™๋„ค์š”..

๊ทธ๋Ÿฐ๋ฐ golang ์œผ๋กœ๋งŒ ๋งŒ๋“ค์–ด์ง„๊ฑด ๊ตฌํ˜„์ด ์‰ฝ์ง€ ์•Š๊ฒ ์ฃ ??

Taegyoon Kim

unread,
Jun 24, 2013, 4:29:25โ€ฏAM6/24/13
to golang...@googlegroups.com
์ด์ƒํ•œ ๊ฒŒ http.Get์œผ๋กœ ๋ฐ›์€ euc-kr ๋ฌธ์ž์—ด์ด go 1.0์—์„œ๋Š”ย ์ž˜ ํ‘œ์‹œ๊ฐ€ ๋˜์—ˆ๋Š”๋ฐ 1.1๋ถ€ํ„ฐ ๊นจ์ง€๋„ค์š”..
ย 
ย 
์œ„ ๋งํฌ์— ์žˆ๋Š” ์†Œ์Šค ์ฝ”๋“œ๋ฅผ go 1.0์—์„œ ์ปดํŒŒ์ผํ•˜๋ฉด "โ–ผ" ๊ธ€์ž๊ฐ€ ์ž˜ ๋‚˜์˜ค๋Š”๋ฐ 1.1์—์„œ ์ปดํŒŒ์ผํ•˜๋ฉด ๊นจ์ง‘๋‹ˆ๋‹ค. ๋ฒ„๊ทธ์ธ์ง€..
ย 

2012๋…„ 2์›” 23์ผ ๋ชฉ์š”์ผ ์˜คํ›„ 4์‹œ 50๋ถ„ 9์ดˆ UTC+9, ์ฅฌ๋“œ ๋‹˜์˜ ๋ง:

jaehoon

unread,
Jun 24, 2013, 6:51:14โ€ฏAM6/24/13
to golang...@googlegroups.com
์ด์ƒํ•˜๊ฒŒ ๋‹ต๊ธ€์ด ๋‹ฌ๋ฆฌ์ง€๋ฅผ ์•Š๋„ค์š”,,;;

go-iconv๋ฅผ ์ด์šฉํ•ด ๋ณด์„ธ์š”.
์ €๋Š” ์œˆ๋„์šฐ๊ฐ€ ์•„๋‹Œ ๋ฆฌ๋ˆ…์Šคํ™˜๊ฒฝ์—์„œ ํ…Œ์ŠคํŠธ๋ฅผ ํ•ด๋ณด๊ธด ํ–ˆ๋Š”๋ฐ, ์ž˜๋˜๋Š”๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.


...
dlist := re.FindString(sbody)
cd, err := iconv.Open("UTF-8", "EUC-KR")
if err != nil {
...
}
str, err := cd.Conv(dlist)
//fmt.Println(dlist)
fmt.Println(str)

์™€ ๊ฐ™์ด ํ•ด๋ณด์‹œ๋ฉด ๋  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.


2012๋…„ 2์›” 23์ผ ๋ชฉ์š”์ผ ์˜คํ›„ 4์‹œ 50๋ถ„ 9์ดˆ UTC+9, ์ฅฌ๋“œ ๋‹˜์˜ ๋ง:
๋”ฑํžˆ ๋‹ค๋ฅธ ๊ณณ์—๋‹ค ์งˆ๋ฌธ์„ ์˜ฌ๋ฆด ๋ฐ๊ฐ€ ์—†์–ด์„œ์š”

Taegyoon Kim

unread,
Jun 24, 2013, 7:29:31โ€ฏAM6/24/13
to golang...@googlegroups.com
๋‹ต๊ธ€ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.. ๊ทธ๋Ÿฐ๋ฐ ์ด๋ ‡๊ฒŒ ํ•ด ๋ด๋„ ์—ฌ์ „ํžˆ ์•ˆ ๋˜๋„ค์š” ใ… ใ… 
ย 
๋ฆฌ๋ˆ…์Šค ํ™˜๊ฒฝ์—์„œ ์›๋ž˜๋„ ์ž˜ ๋‚˜์™”๋˜ ๊ฑฐ ์•„๋‹Œ์ง€์š”??
ย 
ย 
๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์†Œ์Šค๋ฅผ ๋ณด๋‹ˆ libiconv์— ์˜์กด์„ฑ์ด ์žˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค: import "C"
ย 
ย 

2013๋…„ 6์›” 24์ผ ์›”์š”์ผ ์˜คํ›„ 7์‹œ 51๋ถ„ 14์ดˆ UTC+9, jaehoon ๋‹˜์˜ ๋ง:

jaehoon

unread,
Jun 24, 2013, 7:52:10โ€ฏAM6/24/13
to golang...@googlegroups.com
๋„ค,,๊ธฐ์กด์— ์ž‘์„ฑํ•˜์‹  ์†Œ์Šค๋กœ ๋นŒ๋“œ๋ฅผ ํ•ด๋ณด๋ฉด ์ด์ƒํ•œ ๋ฌธ์ž๋ฅผ ์ฐ๊ณ  ์žˆ๋„ค์š”,,

์œˆ๋„์šฐ์—์„œ ํ…Œ์ŠคํŠธ๋ฅผ ํ•ด๋ณด์‹ ๊ฑด๊ฐ€์š”?ย 
์œˆ๋„์šฐ ์ฝ˜์†”์ฐฝ์€ utf-8 ํ˜•์‹์œผ๋กœ ๋ณ€๊ฒฝ์„ ํ•ด์ฃผ์‹ ๊ฑฐ์ฃ ? ๊ธฐ๋ณธ์€ cp-949์ž…๋‹ˆ๋‹ค.
์‹คํ–‰๊นŒ์ง€ ํ•ด์‹ ๊ฒƒ ๊ฐ™์œผ๋‹ˆ,,,go get ํ•˜์‹ค๋•Œ go-iconv๋Š” ์˜ค๋ฅ˜์—†์ด ๋นŒ๋“œ๋Š” ์ž˜ ๋˜์…จ์„ํ…Œ๊ตฌ์š”,,

ํ  ์ œ๊ฐ€ ์•Œ๊ณ  ์žˆ๋Š” ๋ฏธ์ฒœํ•œ ์ง€์‹์€ ์ด์ œ ๋ฐ”๋‹ฅ์ด ๋‚œ๊ฒƒ ๊ฐ™๋„ค์š”,,,^^;

๋‹ค๋ฅธ ๊ณ ์ˆ˜๋‹˜๋“ค์ด ๋‹ต๋ณ€์„ ์ข€ ๋” ๋‹ฌ์•„ ์ฃผ์‹œ๋ฉด ์ข‹์„ ๋“ฏ ํ•˜๋„ค์š”,,,

๋„์›€์„ ๋ชป๋“œ๋ ค์„œ,,,์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค,,,ใ…œใ…œ

2013๋…„ 6์›” 24์ผ ์›”์š”์ผ ์˜คํ›„ 8์‹œ 29๋ถ„ 31์ดˆ UTC+9, Taegyoon Kim ๋‹˜์˜ ๋ง:

Homin Lee

unread,
Jun 25, 2013, 3:40:44โ€ฏAM6/25/13
to golang...@googlegroups.com
์•„.. ์ด ์งˆ๋ฌธ์„ ์ด์ œ์•ผ ๋ดค๋„ค์š” ์šด์˜์ž”๋ฐ ์ด๋ž˜๋„ ๋˜๋‚˜...
๊ณ  ์–ธ์–ด์— ๋Œ€ํ•œ ํ™œ๋ฐœํ•œ ์งˆ๋‹ต์€ ๊ตฌ๊ธ€+์˜ ์ปค๋ฎค๋‹ˆํ‹ฐ์—์„œ ์ด๋ฃจ์–ด ์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
์—ฌ๊ธฐ๋ณด๋‹ค ๊ฑฐ๊ธฐ์— ์˜ฌ๋ฆฌ์‹œ๋Š”๊ฒŒ ๋‹ต๋ณ€์„ ๋” ๋นจ๋ฆฌ ๋ฐ›์œผ์‹ค ์ˆ˜ ์žˆ์–ด์š”.


----
์ž ๊ทธ๋Ÿผ ๋ณธ๋ก ,

cgo๋Š” C๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์“ฐ๊ธฐ ์œ„ํ•œ ํ™•์žฅ์œผ๋กœ ํ•ญ์ƒ ์“ธ ์ˆ˜ ์žˆ์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค. (AppEngine ๋“ฑ์— ์˜ฌ๋ฆฌ๋ ค๋ฉด ์•ˆ๋˜์ฃ )
go-iconv์— ํ•„์š”ํ•œ C ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ libconv๋Š” ์™ ๋งŒํ•œ ๋ฆฌ๋ˆ…์Šค ํ™˜๊ฒฝ์—๋Š” ๊ธฐ๋ณธ์œผ๋กœ ์„ค์น˜๋˜์–ด ์žˆ์–ด ์›๋ž˜ ๊ทธ๋ƒฅ
๋˜์•ผ ๋  ๊ฒƒ ๊ฐ™์€๋ฐ, ์•”ํŠผ ์•ˆ๋˜์‹ ๋‹ค๋‹ˆ๊นŒ..

์ œ๊ฐ€ pure-Go ๋กœ cp949 from/to utf-8 ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋งŒ๋“ค์–ด ๋‘”๊ฒŒ ์žˆ์–ด์š”. ๋‹ค์Œ์€ ๋งํฌ:


์ด๊ฑธ ํ•œ ๋ฒˆ ์จ๋ณด์‹œ๋ฉด ์–ด๋– ์‹ค๊นŒ์š”?
์ €๋„ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋งŒ๋“ค๋ฉด์„œ ํ…Œ์ŠคํŠธ๋กœ๋งŒ ํ™•์ธํ•œ ์ƒํƒœ๋ผ
์‚ฌ์šฉํ•˜์‹ ๋‹ค๋ฉด ์•„๋งˆ ์ฒซ ์‹ค์šฉ ์‚ฌ๋ก€๊ฐ€ ๋  ๊ฒƒ ๊ฐ™์•„ ๊ธฐ๋Œ€๊ฐ€ ํฝ๋‹ˆ๋‹ค. ใ…Ž

๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‚ฌ์šฉ์‹œ ๊ถ๊ธˆํ•˜์‹ ๊ฑฐ๋‚˜ ๋ฌธ์ œ๊ฐ€ ์žˆ์œผ์‹œ๋ฉด,
๋˜๋„๋ก ๊ตฌ๊ธ€+ ์ปค๋ฎค๋‹ˆํ‹ฐ์— ์˜ฌ๋ ค ์ฃผ์„ธ์š”. ์ œ๊ฐ€ ๊ทธ์ชฝ์„ ๋ฉ”์ผ๋ง ๋ณด๋‹ค ๋” ์ž์ฃผ ํ™•์ธํ•ด์š”.

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.
์ดํ˜ธ๋ฏผ ๋“œ๋ฆผ.

2013๋…„ 6์›” 24์ผ ์›”์š”์ผ ์˜คํ›„ 8์‹œ 29๋ถ„ 31์ดˆ UTC+9, Taegyoon Kim ๋‹˜์˜ ๋ง:
๋‹ต๊ธ€ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.. ๊ทธ๋Ÿฐ๋ฐ ์ด๋ ‡๊ฒŒ ํ•ด ๋ด๋„ ์—ฌ์ „ํžˆ ์•ˆ ๋˜๋„ค์š” ใ… ใ… 
Reply all
Reply to author
Forward
0 new messages