Friday, January 27, 2006
블로거(blogger.com)의 인코딩 버그 완벽 해결법
구글에서 제공하는 블로그 서비스인 '블로거 닷컴'에서 한글 블로그를 운영할 경우, 심각한 버그가 있다. "permanent link" 포스트의 글자가 완전히 사라져 버리거나, 블로그 제목에 한글이 있을 경우 블로그 전체가 전혀 보이지 않게 되어 버리는 것이 그것이다. 물론 모두 그런 것은 아니고 상당히 랜덤하여 더욱 골치가 아팠다.
※ 혼란스러운 점이 있는데, '블로거'에 블로그를 만들면 실제 주소는 blogger.com 이 아닌 blogspot.com 에 생기게 된다. (예: https://mwultong.blogspot.com/ )
구글 검색에서 "한국어 웹" 옵션으로, "site:blogspot.com" 를 검색하면 '블로거'에 만들어진 한글 블로그들을 수백 개 볼 수 있는데, 그 블로그 중에서 10분의 1 정도에 이런 버그가 있었다. 어떤 블로그는 아예 들어가지지도 않는다. 들어가는 순간, 화면에 글자가 하나도 나타나지 않는다. '블로거'에서 제공하는 기본 템플릿을 사용하는 블로그에서 주로 이런 버그가 생겼다.
이 버그는 IE의 인코딩을 "자동 선택"으로 해 둔 상태에서 대부분 일어난다. IE가, 블로그의 인코딩을 UTF-8 이 아닌 euc-kr 로 오인하고 있었다. ('블로거'의 기본 인코딩은 UTF-8이다. 그러나 인코딩을 euc-kr로 해도 이 버그가 나타나는 경우가 있었다.) 그런데 이유는 아무리 찾아봐도 알 수가 없었다. 다만 파이어폭스에서는 이 버그가 나타나지 않았다.
보름 넘게 이 문제 때문에 고민하고 있었다. 템플릿과 HTML 소스를 아무리 분석해 봐도 알 수가 없었다. 일본어 사이트에서도 이런 경우가 드물지 않았다. 일본 네티즌들이 해결책을 올려놓았는데 실제 해보니 버그가 전혀 해결되지 않았다.
그런데 어제 템플릿의 첫부분을 무심코 보다가 약간 불합리한 점을 발견했었다. "타이틀 태그"가 "인코딩 정보"보다 먼저 기술되어 있었다. 이렇다면 이론적으로 웹브라우저는 타이틀 즉 제목표시줄의 문자들이 어떤 인코딩인지 알지 못하게 된다. 정상적인 브라우저라면 알겠지만 "인터넷 익스플로러" 즉 IE는 그렇지 못한 듯하다. (물론 엄밀히 말해서, 이 버그는 IE의 버그가 아니라 IE에 있는 '자동 선택'이라는 인코딩 툴의 문제다.)
그래서 이것의 순서를 바꾸어 주었다. 다시 말해, 페이지의 인코딩이 UTF-8이라는 사실을 먼저 브라우저에게 알려준 후, 제목과 내용을 적어나가는 것이다.
※ 인코딩 정보는 <$BlogMetaData$> 라는, 블로거 전용 태그 안에 들어 있다.
그랬더니 버그가 말끔히 없어졌다!!! 모든 포스트가 제대로 보인다.
만약 이 버그 때문에 고민하시는 분은 다음과 같이 템플릿을 고치면 해결된다:
"템플릿/현재 템플릿 수정" 편집창으로 가서, "<head>" 안에 있는 "<$BlogMetaData$>" 와 "<title><$BlogPageTitle$></title>" 행의 순서를 서로 바꾸어 주고 저장한다. 보다 쉽게 말하자면 다음과 같이 바꾼다.
-------- 수정 전 --------
<head>
<title><$BlogPageTitle$></title>
<$BlogMetaData$>
...
-------------------------
-------- 수정 후 --------
<head>
<$BlogMetaData$>
<title><$BlogPageTitle$></title>
...
-------------------------
※ 이제는 "공지 사항: 화면에 글자가 하나도 보이지 않을 때에는, 인코딩을 UTF-8로 바꾸면 정상화됩니다. 마우스 우측 클릭의 메뉴에서 인코딩을 선택하실 수 있습니다."라는 지겨운 공지 사항도 지웠다.
※ 혼란스러운 점이 있는데, '블로거'에 블로그를 만들면 실제 주소는 blogger.com 이 아닌 blogspot.com 에 생기게 된다. (예: https://mwultong.blogspot.com/ )
구글 검색에서 "한국어 웹" 옵션으로, "site:blogspot.com" 를 검색하면 '블로거'에 만들어진 한글 블로그들을 수백 개 볼 수 있는데, 그 블로그 중에서 10분의 1 정도에 이런 버그가 있었다. 어떤 블로그는 아예 들어가지지도 않는다. 들어가는 순간, 화면에 글자가 하나도 나타나지 않는다. '블로거'에서 제공하는 기본 템플릿을 사용하는 블로그에서 주로 이런 버그가 생겼다.
이 버그는 IE의 인코딩을 "자동 선택"으로 해 둔 상태에서 대부분 일어난다. IE가, 블로그의 인코딩을 UTF-8 이 아닌 euc-kr 로 오인하고 있었다. ('블로거'의 기본 인코딩은 UTF-8이다. 그러나 인코딩을 euc-kr로 해도 이 버그가 나타나는 경우가 있었다.) 그런데 이유는 아무리 찾아봐도 알 수가 없었다. 다만 파이어폭스에서는 이 버그가 나타나지 않았다.
보름 넘게 이 문제 때문에 고민하고 있었다. 템플릿과 HTML 소스를 아무리 분석해 봐도 알 수가 없었다. 일본어 사이트에서도 이런 경우가 드물지 않았다. 일본 네티즌들이 해결책을 올려놓았는데 실제 해보니 버그가 전혀 해결되지 않았다.
그런데 어제 템플릿의 첫부분을 무심코 보다가 약간 불합리한 점을 발견했었다. "타이틀 태그"가 "인코딩 정보"보다 먼저 기술되어 있었다. 이렇다면 이론적으로 웹브라우저는 타이틀 즉 제목표시줄의 문자들이 어떤 인코딩인지 알지 못하게 된다. 정상적인 브라우저라면 알겠지만 "인터넷 익스플로러" 즉 IE는 그렇지 못한 듯하다. (물론 엄밀히 말해서, 이 버그는 IE의 버그가 아니라 IE에 있는 '자동 선택'이라는 인코딩 툴의 문제다.)
그래서 이것의 순서를 바꾸어 주었다. 다시 말해, 페이지의 인코딩이 UTF-8이라는 사실을 먼저 브라우저에게 알려준 후, 제목과 내용을 적어나가는 것이다.
※ 인코딩 정보는 <$BlogMetaData$> 라는, 블로거 전용 태그 안에 들어 있다.
그랬더니 버그가 말끔히 없어졌다!!! 모든 포스트가 제대로 보인다.
만약 이 버그 때문에 고민하시는 분은 다음과 같이 템플릿을 고치면 해결된다:
"템플릿/현재 템플릿 수정" 편집창으로 가서, "<head>" 안에 있는 "<$BlogMetaData$>" 와 "<title><$BlogPageTitle$></title>" 행의 순서를 서로 바꾸어 주고 저장한다. 보다 쉽게 말하자면 다음과 같이 바꾼다.
-------- 수정 전 --------
<head>
<title><$BlogPageTitle$></title>
<$BlogMetaData$>
...
-------------------------
-------- 수정 후 --------
<head>
<$BlogMetaData$>
<title><$BlogPageTitle$></title>
...
-------------------------
※ 이제는 "공지 사항: 화면에 글자가 하나도 보이지 않을 때에는, 인코딩을 UTF-8로 바꾸면 정상화됩니다. 마우스 우측 클릭의 메뉴에서 인코딩을 선택하실 수 있습니다."라는 지겨운 공지 사항도 지웠다.
tag: blogger
블로거 | 구글블로그 | Blogger.com + blogspot.com
오... 그런 방법이 있었군요^^
전 Mozilla Firefox만 사용해서 잘 몰랐는데, 오류가 난다는 분들이 계셔서..
그런 분들께 모쪼록 많은 도움이 되었으면 합니다...
블로거의 초보 블로거 입니다. 템플릿 편집하는데 하루 날려버리고, 드뎌 쓸만하게 되서 포스팅 했더니 페이지 단위로는 하얗게 뻗어버리는 녀석이 몇이 있어서 고민하고 있었는데 그게 원인 이었군요! 혼자서 고민 했으면 시간 낭비할 뻔 했습니다. 고맙습니다~아!
잘 해결되셨다니 저도 기쁩니다...
(∩_∩)
블로거 템플릿에 고칠 데가 참 많더군요. 구글에서 버그 등을 미리 고쳐 놓으면 좋을 텐데..
(∩_∩)
파이어폭스에서는 인코딩 문제가 거의 없더군요.
(∩_∩)
해결되셨다니 저도 기쁩니다.
(∩_∩)
ddakji님의 코멘트 (http://ddakji.blogspot.com/)
여기서 퍼뜩 생각나서 저것 말고 다른 템플릿 버그 고쳤습니다. 이거 참 탐험(?)하는 재미가 있군요 --;
hifunstar님의 코멘트 (http://hifunstar.blogspot.com/)
Firefox에서는 아무런 이상이 없는데 IE에서 왜 그런가 참 이상했는데... 좋은 정보 감사합니다.
yongsang님의 코멘트 (http://yongsang.blogspot.com/)
감사합니다. 원인을 몰라서 자료를 찾느라 시간을 좀 보냈는데 구글에서 검색하니 한방에 나오네요~ ^^ 진작에 여기서 검색해볼껄.. 덕분에 깨끗하게 해결했네요. 감사합니다.
(새 블로거 버전에서는, 한글 아이디의 글자가 깨져서, 글자가 깨지는 코멘트를 다시 올립니다.)
감사! 감사합니다
다행입니다
(∩_∩)
으아~~ 이걸로 한 10일 고생하고 있었는데. 참으로 감사합니다 ㅠ_ㅠ
감동의 눈물이 앞을 가리는 군요.
정말 정말 정말 감사 드립니다.
인코딩에 문제가 있어서 블로그를 보았는데, 해결이 되지 않는 것이 있어서 문의드립니다.
일본어홈페이지의 html이 갑자기 언제부터 글자가 깨집니다. 호스팅업체에서 사용하는 보드인 제로보드는 오래되어서 utf-8은 사용하지 못하고 안시로 인코딩해야 한다는데, 무슨 말인지 모르겠습니다.
그리고 깨진 글자는 익스플로러에서 오른쪽 버튼 눌러 인코딩을 일본어 euc나 shift-jp 또는 일본어 자동선택을 선택하면 보입니다. 이 글처럼 타이틀 앞에 넣어봐도 똑같네요.
조언 좀 부탁드립니다. 며칠동안 이것저것 만져봐도 안되네요. 초보라서.. ^^;;
그리고 홈페이지는 ainoie.org로 노숙자지원을 하는 기관입니다.
해결책을 못 찾겠군요-_-;; 저의 이 블로그 글처럼 메타 태그로 해결할 수 있는 간단한 문제가 아닌 것 같습니다. 호스팅 업체에 문의를 하시는 게 어떨까 싶습니다-_-;;
신경써주셔서 감사합니다.
앞으로도 좋은 글을 자주 만날 수 있기를 바랍니다.
정말 하루 종일 고생했는데..:감사하다는 말로 부족하네요~
이렇게 간단한거였다니 ㅠ
너무 감사드립니다.
복받으세요~
<< Home