【问题标题】:Non-Latin characters in html input fieldshtml 输入字段中的非拉丁字符
【发布时间】:2016-05-17 04:33:35
【问题描述】:

我遇到了非拉丁字符的问题。例如,如果我转到下面的链接并输入“ü”并按提交,我会得到 %C3%BC 而不是那个字母。我曾尝试使用content="text/html; charset=utf-8 ",但它不起作用。你们知道如何避免这个问题吗?

http://www.w3schools.com/tags/tryit.asp?filename=tryhtml_form_submit

提前致谢

【问题讨论】:

    标签: html character-encoding html-input non-latin


    【解决方案1】:

    你无法真正避免这个问题;此类字符的解码需要在服务器端进行。在 PHP 中,urldecode 函数用于此目的,因此 urldecode('%C3%BC') 返回 'ü'。此行为是 the way that forms work 的一部分 - 如果您查看我用来提交此答案的 Stack Overflow 表单的代码:

    <form id="post-form" action="/questions/37262431/answer/submit" method="post" class="post-form">
    

    我可以使用字母 ü,但表单不包含任何额外属性,因为服务器在将“ü”返回给客户端之前正在解码“%C3%BC”。

    【讨论】:

    • 谢谢,我有这个想法,想看看有没有更好的选择。
    猜你喜欢
    • 2010-12-12
    • 2015-06-26
    • 2015-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多