유니코드논의| -11,20 +11,23 |
| 기존의 위키에서 전환하는 경우, data 디렉토리 아래 있는 모든 파일을 iconv 등을 사용해서 일괄적으로 변환해 주면 될 것으로 생각됨. |
| == # 서버의 파일 시스템과는 전혀 관계없이 바꿀 수 있는가? == |
| 저도 잘은 모르지만 페이지 이름으로 파일을 만드는데... 좀 문제가 되지 않을까요? <mysign([[조프]],2004-5-21 4:23 pm)> |
| : 저도 그걸 걱정하고 있습니다. <mysign([[Raymundo]],2004-5-21 4:27 pm)> |
| :: 생각해보니 브라우저에서 주소줄에 인코딩된 숫자를 날리듯, 페이지 이름을 인코딩해서 저장하면 될 것도 같네요. 일단은 UseMod 1.0 에 구현된 내용을 살펴보는게 맞지 않을까 싶습니다. <mysign([[조프]],2004-5-21 4:31 pm)> |
| [[/파일명인코딩]]에 대해 정리를 해 봅시다. |
| == # 위키네임 패턴 등에서 문자 코드 범위를 어떻게 바꾸어 줘야 하는가? == |
| 현재는 |
| {{{perl |
| {{{#!vim perl |
| $FS = "\x7f"; # 데이타를 저장할 때 각 필드를 구분하는 문자. 이것도 바꿔줘야 함. |
| $FS1 = $FS . "1"; # The FS values are used to separate fields |
| $FS2 = $FS . "2"; # in stored hashtables and other data structures. |
| $FS3 = $FS . "3"; # The FS character is not allowed in user data. |
| }}} |
| {{{perl |
| {{{#!vim perl |
| # 위키네임 패턴 |
| $UpperLetter = "[A-Z"; |
| $LowerLetter = "[a-z"; |
| -55,7 +58,7 |
| } |
| }}} |
| {{{perl |
| {{{#!vim perl |
| # 한글을 포함한 free link |
| if ($FreeLinks) { |
| # Note: the - character must be first in $AnyLetter definition |
| -89,7 +92,7 |
| * http://doc.kldp.org/Translations/html/UTF8-Unicode-KLDP/UTF8-Unicode-KLDP.html |
| <div class="comments"> |
| * ''' [[Bab2]] ''' : usemod.com 테러당한건가요? [http://www.usemod.com/cgi-bin/wiki.pl?SupportForUtf8 여기]에서 diff로 확인해보시길... - <small>2004-5-21 10:54 am</small> |
| * ''' [[Bab2]] ''' : usemod.org 테러당한건가요? [http://www.usemod.org/cgi-bin/wiki.pl?SupportForUtf8 여기]에서 diff로 확인해보시길... - <small>2004-5-21 10:54 am</small> |
| * ''' [[Raymundo]] ''' : 보는 순간 머리가 지끈지끈... 제 기억으로는 예전에도 똑같이 시도했다가 똑같은 페이지를 보고 똑같은 두통을 느껴서 관뒀던 것으로... -.-;;;; - <small>2004-5-21 4:46 pm</small> |
| * ''' bab2 ''' : 헉...;;; - <small>2004-5-21 4:56 pm</small> |
| * ''' [[Raymundo]] ''' : 아니 뭐... 맘잡고 보면 좀 볼만할지도... :-) - <small>2004-5-21 5:00 pm</small> |
$FS = "\x7f"; # 데이타를 저장할 때 각 필드를 구분하는 문자. 이것도 바꿔줘야 함.
$FS1 = $FS . "1"; # The FS values are used to separate fields
$FS2 = $FS . "2"; # in stored hashtables and other data structures.
$FS3 = $FS . "3"; # The FS character is not allowed in user data.
# 위키네임 패턴
$UpperLetter = "[A-Z";
$LowerLetter = "[a-z";
$AnyLetter = "[A-Za-z";
if ($NonEnglish) {
$UpperLetter .= "\xc0-\xde";
$LowerLetter .= "\xdf-\xff";
$AnyLetter .= "\xc0-\xff";
}
if (!$SimpleLinks) {
$AnyLetter .= "_0-9";
}
$UpperLetter .= "]"; $LowerLetter .= "]"; $AnyLetter .= "]";
# Main link pattern: lowercase between uppercase, then anything
$LpA = $UpperLetter . "+" . $LowerLetter . "+" . $UpperLetter
. $AnyLetter . "*";
# Optional subpage link pattern: uppercase, lowercase, then anything
$LpB = $UpperLetter . "+" . $LowerLetter . "+" . $AnyLetter . "*";
if ($UseSubpage) {
# Loose pattern: If subpage is used, subpage may be simple name
$LinkPattern = "((?:(?:$LpA)?\\/$LpB)|$LpA)";
# Strict pattern: both sides must be the main LinkPattern
# $LinkPattern = "((?:(?:$LpA)?\\/)?$LpA)";
} else {
$LinkPattern = "($LpA)";
}
# 한글을 포함한 free link
if ($FreeLinks) {
# Note: the - character must be first in $AnyLetter definition
#if ($NonEnglish) {
$AnyLetter = "[-,.()' _0-9A-Za-z\xa0-\xff]";
#} else {
# $AnyLetter = "[-,.()' _0-9A-Za-z]";
#}
}
$FreeLinkPattern = "($AnyLetter+)";
if ($UseSubpage) {
$FreeLinkPattern = "((?:(?:$AnyLetter+)?\\/)?$AnyLetter+)";
}
$FreeLinkPattern .= $QDelim;