gpt4 book ai didi

ruby-on-rails - 在 emacs : utf-8 problem 中使用 url elisp 包创建 POST

转载 作者:行者123 更新时间:2023-12-04 23:33:51 25 4
gpt4 key购买 nike

我目前正在创建一个 Rest 客户端,用于本着 Pastie.el 的精神制作博客文章。我的主要目标是在 emacs 中编写一个纺织品,并向将创建它的 Rails 应用程序发帖。它工作正常,直到我用西类牙语或日语输入任何内容,然后我收到 500 错误。顺便说一下, paste.el 也有同样的问题。

这是代码:

(需要'网址)

(defun create-post()

(interactive)

(let ((url-request-method "POST")

(url-request-extra-headers '(("Content-Type" . "application/xml")))

(url-request-data (concat "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
"<post>"
"<title>"
"Not working with spanish nor japanese"
"</title>"
"<content>"
;; "日本語" ;; not working
;; "ñ" ;; not working either
"h1. Textile title\n\n"
"*Textile bold*"
"</content>"
"</post>"))
) ; end of let varlist
(url-retrieve "http://127.0.0.1:3000/posts.xml"
;; CALLBACK
(lambda (status)
(switch-to-buffer (current-buffer)))
)))

我现在可以想象可以解决问题的唯一方法是让 emacs 对 utf-8 字符进行编码,以便 'ñ' 变成 'ñ'(顺便说一下)。

有什么办法可以解决这个问题?

编辑:'*' 不等同于 *'。我的意思是,如果我使用 emacs 编码为 utf-8,例如使用“sgml-char”,它会使整个帖子变成 utf-8 编码。像 *Textile bold* 这样使得 RedCloth 无法将其转换为 html。对不起,解释得很糟糕。

最佳答案

猜测:如果将 url-request-data 设置为

(encode-coding-string (concat "<?xml etc...") 'utf-8)

反而?

没有什么可以告诉 url 你使用什么编码系统,所以我猜你必须自己编码你的数据。这也应该给出一个正确的 Content-length header ,因为它只是来自 (length url-request-data) ,这显然会为大多数 UTF-8 字符串给出错误的结果。

关于ruby-on-rails - 在 emacs : utf-8 problem 中使用 url elisp 包创建 POST,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1333020/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com