     Loop % StrPut(url, &buff, enc) - 1
     {
         byte := NumGet(buff, A_Index-1, "UChar")
-        encoded .= byte > 127 or byte < 33 ? "%" Substr(byte, 3) : Chr(byte)
+        encoded .= byte > 127 or byte < 33 ? "%" SubStr(byte, 3) : Chr(byte)
     }
     SetFormat, IntegerFast, %formatInteger%
     return encoded

    hideCol4IfEmpty := g_SkinConf.HideCol4IfEmpty

    StrSpace := " "
    Loop, % col3MaxLen + 1
        StrSpace .= " "

    result =

            continue
        }

        result .= SubStr(A_LoopField, 1, 9)

        splitedLine := StrSplit(SubStr(A_LoopField, 10), " | ")
        col3RealLen := StrLen(RegExReplace(splitedLine[1], "[^\x00-\xff]", "`t`t"))
        col4RealLen := StrLen(RegExReplace(splitedLine[2], "[^\x00-\xff]", "`t`t"))

        if (col3RealLen > col3MaxLen)
        {
            result .= SubStrByByte(splitedLine[1], col3MaxLen)
        }
        else
        {
            result .= splitedLine[1] . SubStr(StrSpace, 1, col3MaxLen - col3RealLen)
        }

        result .= " | "

        if (col4RealLen > col4MaxLen)
        {
            result .= SubStrByByte(splitedLine[2], col4MaxLen)
        }
        else
        {
            result .= splitedLine[2]
        }

        result .= "`r`n"
    }

    return result
