我正在建立一本西类牙语词典。我从 www.rae.es 获取定义。当时有两个问题:
搜索引擎不适用于尖锐的口音 (á é í ó ú)。输出是来自 rae.es 的错误消息,指出该单词无法识别。例如:对于单词“baúl”,会出现(翻译):“单词 baúl 未在词典中注册。”
另一个问题是,每当一个单词有 2 个或更多含义时,就会出现一个带有多个选项的建议(这些选项由字典提供),但如果您单击其中一个,则会出现错误。如果定义中存在指向另一个单词的超链接,也会发生同样的情况。
单击此处查看示例:http://verbum.xtrweb.com/verbumpost.php?word=cuarto&word0=
您还可以通过右键单击然后在 chrome 上“检查元素”来查看代码,我想 Firefox 和 Safari 也是如此,以检查我如何检索定义。如果您使用 Google Chrome 会更好。
非常感谢!
最佳答案
您必须对查询字符串进行 URL 编码。例如,将 ú
替换为 %FA
有效:http://verbum.xtrweb.com/verbumpost.php?word=ba%FAl&word0= .
此外,错误消息显示 bañol
表明您在某些时候正在混合编码(可能是 UTF8 和 Latin 1)。
在 JavaScript 中,您可以使用 encodeURI
对完整 URL 进行编码,或 encodeURIComponent
对查询字符串的一部分进行编码。
关于php - 无法识别重音 + 请求超链接时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15123888/