viewcvs + cvsgraph 한글 문제

송지석의 이미지

정확히 말하면 UTF8인코딩과 cvsgraph문제일 것 같습니다.

현상은 이렇습니다.
제 서버는 페도라 코어 1을 깔아놨고 cvs와 viewcvs 세팅까지 잘 했습니다. enscript도 되고, cvsgraph로 리비전 그래프도 나옵니다.
클라이언트는 전부 윈도우즈입니다. 제대로 소스 관리 되고 있습니다.
그런데 한글 파일의 경우 리비전 그래프 그림에서 리비전을 클릭하면 그 리비전 소스 화면으로 나와야 되는데 웹서버에서 파일이 없다면서(404에러) 에러를 냅니다.
보니까 utf8코딩의 문제 같습니다. 예를 들면 "새 텍스트 문서 (2).txt" 라는 파일이 있을 경우 글씨는 제대로 보이지만 링크된 경로는 "%BB%F5%20%C5%D8%BD%BA%C6%AE%20%B9%AE%BC%AD%20%282%29.txt" 이런식으로 UTF8코딩되어있습니다.
그런데 리비전 그래프에서 링크된 주소에는 "새 텍스트 문서 (2).txt"로 써있습니다.
html 소스를 보니

<h1>Revision graph of mytest1/새 텍스트 문서 (2).txt</h1>
<map name="MyMapName">
	<area shape="rect" href="새 텍스트 문서 (2).txt?only_with_tag=MAIN&cvsroot=test" coords="50,35,80,62" alt=" MAIN (1)">
	<area shape="rect" href="새 텍스트 문서 (2).txt?rev=1.1&content-type=text/vnd.viewcvs-markup&cvsroot=test" coords="10,77,120,114" alt="  (1.1)">
	<area shape="rect" href="새 텍스트 문서 (2).txt?rev=1.2&content-type=text/vnd.viewcvs-markup&cvsroot=test" coords="10,129,120,166" alt="  (1.2)">
	<area shape="rect" href="새 텍스트 문서 (2).txt.diff?r1=1.1&r2=1.2&cvsroot=test" coords="38,115,92,128" alt=" 1.1 &lt;-&gt; 1.2">
	<area shape="rect" href="새 텍스트 문서 (2).txt?rev=1.3&content-type=text/vnd.viewcvs-markup&cvsroot=test" coords="10,181,120,232" alt=" HEAD (1.3)">
	<area shape="rect" href="새 텍스트 문서 (2).txt.diff?r1=1.2&r2=1.3&cvsroot=test" coords="38,167,92,180" alt=" 1.2 &lt;-&gt; 1.3">
</map>

이런식으로 되어서 주소가 제대로 인식 안되나봅니다.
viewcvs에서 cvsgraph의 설정파일에
map_name        = "MyMapName";
map_branch_href = "href=\"%m%F?only_with_tag=%t%8%6\"";
map_branch_alt  = "alt=\"%0 %t (%B)\"";
# You might want to experiment with the following setting:
# 1. The default setting will take you to a ViewCVS generated page displaying
#    that revision of the file, if you click into a revision box:
map_rev_href    = "href=\"%m%F?rev=%R&content-type=text/vnd.viewcvs-markup%6\"";
# 2. This alternative setting will take you to the anchor representing this
#    revision on a ViewCVS generated Log page for that file:
# map_rev_href   = "href=\"%m%F%7#rev%R\"";
#
이렇게 되어있는데 여기서 막혔습니다. cvsgraph에서는 그냥 파일 이름을 받는 것 같고, 내부적으론 그 문자열을 사용해야 맞을 거란 생각이 듭니다.
여기서 어떻게 해야 할 지,
방법을 아시겠거나 해결하신 분 있으시면 공유부탁드립니다.
pynoos의 이미지

송지석 wrote:

보니까 utf8코딩의 문제 같습니다. 예를 들면 "새 텍스트 문서 (2).txt" 라는 파일이 있을 경우 글씨는 제대로 보이지만 링크된 경로는 "%BB%F5%20%C5%D8%BD%BA%C6%AE%20%B9%AE%BC%AD%20%282%29.txt" 이런식으로 UTF8코딩되어있습니다.

위 인코딩은 UTF8이 아니라 EUC-KR 입니다. 잘보면 %20 이라는 스페이스 앞뒤로 한 글이 두 바이트로 인코딩되어 있습니다. UTF8은 세바이트 입니다.

브라우져 설정을 바꿔서 해보면 어떨까요?

송지석의 이미지

아 그렇군요. 제가 틀렸습니다. httpd의 기본 인코딩을 EUC-KR로 해놨었습니다.
그렇다면 "새 텍스트 문서 (2).txt"로 나오는 것은 왜일까요? 인코딩 문제가 아닌가요? 인터넷 익스플로러 브라우저 세팅에는 그냥 URL을 항상 UTF-8로 보냄 옵션을 켜놨습니다만.

pynoos의 이미지

HTML 코드 상에서 그렇게 나오는 것은 파일 이름이 EUC-KR 이기 때문일것이고, IE가 UTF8으로 보낸다면, apache가 code converting을 하지 않는한 다른 이름으로 인식할 것같습니다.

송지석의 이미지

일단 모질라로 보니까 잘 되는군요.
IE는 UTF-8로 보내는 옵션을 끄면 재부팅해야 한다고 해서 -_- 아직 못해봤습니다.
그 옵션을 꺼도 kldp 홈페이지가 잘 보이려나 모르겠네요.

pynoos의 이미지

전 옵션을 끄면 재부팅안해도 잘되던데..
공연히 겁만 주는거 아닐까요?

송지석의 이미지

되는군요 -_;;
감사합니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.