LINUX.ORG.RU

variable map
for {set i 0} {$i <= 256} {incr i} {
set c [format %c $i]
if {![string match {[a-zA-Z0-9]} $c]} {
set map($c) «%[format %.2x $i]»
}
}
array set map { " " + \n %0d%0a }
regsub -all {[^\w]} $string {$::map(&)} string

anonymous
()
Ответ на: комментарий от aspel

нашел рабочий пример в блоге у какого то японца.

proc urlencode {text} {
set url ""
foreach byte [split [encoding convertto utf-8 $text] ""] {
scan $byte %c i
if {[string match {[%<>"]} $byte] || $i <= 32 || $i > 127} {
append url [format %%%02X $i]
} else {
append url $byte
}
}
return $url
} 
в eggdrop оно работает если он скомпилен с поддержкой utf-8, если eggdrop скомпилить по дефолту то получается белиберда.

aspel
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.