【问题标题】:Acute accents not recognized + Error when requesting hyperlink无法识别重音 + 请求超链接时出错
【发布时间】:2013-02-13 22:57:17
【问题描述】:

我正在制作一本西班牙语词典。我从 www.rae.es 得到定义。当时有两个问题:

  • 搜索引擎不适用于重音 (á é í ó ú )。输出是来自 rae.es 的错误消息,指出无法识别该单词。例如:对于单词“baúl”,出现(翻译):“单词 baúl 没有在字典中注册。”

  • 另一个问题是,每当一个词有 2 个或更多含义时,都会显示一个带有多个选项的建议(这些选项由字典生成),但如果您单击一个,则会出现错误。如果在定义中存在指向另一个单词的超链接,也会发生同样的情况。

点击此处查看示例:http://verbum.xtrweb.com/verbumpost.php?word=cuarto&word0=

您还可以通过右键单击然后在 chrome 上“检查元素”来查看代码,我也认为是 firefox 和 Safari,以检查我如何检索定义。最好使用谷歌浏览器。

非常感谢!

【问题讨论】:

    标签: php javascript html hyperlink html-parsing


    【解决方案1】:

    您必须对查询字符串进行 URL 编码。例如,将ú 替换为%FA 有效:http://verbum.xtrweb.com/verbumpost.php?word=ba%FAl&word0=

    此外,错误消息显示 baúl 的事实表明您在某些时候混合了编码(可能是 UTF8 和拉丁语 1)。

    在 JavaScript 中,您可以使用 encodeURI 对完整 URL 进行编码,或使用 encodeURIComponent 对查询字符串的一部分进行编码。

    【讨论】:

    • rawurlencode() 是我应该在 PHP 中使用的函数,但是我该如何用这些例子来实现呢?请检查元素(在 Chrome 中单击鼠标右键)以查看代码。
    • 我用相关 JavaScript 函数的链接更新了答案。我希望它有所帮助。
    【解决方案2】:

    联系 Real Academia Española,了解有关通过其他网站上的搜索表单使用其内容的信息。您可以向他们索取技术规格,如果他们会授予您使用的权利(参见他们的copyright statement)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-19
      • 2021-11-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-19
      • 2018-12-10
      相关资源
      最近更新 更多