[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[patch] url-hexify-string does not follow W3C spec
From: |
David Smith |
Subject: |
[patch] url-hexify-string does not follow W3C spec |
Date: |
Sun, 30 Jul 2006 05:29:50 +0900 |
User-agent: |
Gnus/5.11 (Gnus v5.11) Emacs/23.0.0 (gnu/linux) |
url-hexify-string does not handle non-latin
characters. According to
http://www.w3.org/International/O-URL-code.html , the string
must be converted to hexadecimal UTF-8 and every hexadecimal
byte must be prefixed with a % character. Rewritten
url-hexify-string is below:
(defun url-hexify-string (str)
"Escape characters in a string."
(mapconcat
(lambda (char)
;; Fixme: use a char table instead.
(if (not (memq char url-unreserved-chars))
(if (< char 16)
(format "%%0%x" char)
(let ((ins nil))
(mapconcat
(lambda (charhex)
(progn (setq ins (not ins))
(if ins (concat "%" (char-to-string charhex))
(char-to-string charhex))))
(format "%x" char) "")))
(char-to-string char)))
(encode-coding-string str 'utf-8) ""))
Important settings:
value of $LC_ALL: ja_JP.utf8
value of $LC_COLLATE: nil
value of $LC_CTYPE: ja_JP.utf8
value of $LC_MESSAGES: nil
value of $LC_MONETARY: nil
value of $LC_NUMERIC: nil
value of $LC_TIME: nil
value of $LANG: ja_JP
locale-coding-system: utf-8-unix
default-enable-multibyte-characters: t
Thanks,
--
David D. Smith
pgp0GItcjbdYR.pgp
Description: PGP signature
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [patch] url-hexify-string does not follow W3C spec,
David Smith <=