我正在尝试提交“€”(输入类型=文字输入),但我收到的是“‬”。
我们是否有任何解决方案可以让我收到正确的“€”符号?
答案 0 :(得分:0)
尝试:在文本框中插入€
并提交,它将echo
符号
<form action="" method="post">
<input type="text" name="test" />
<input type="submit" value="go" name="submit"/>
</form>
<强> PHP 强>
<?php
if(isset($_POST['submit'])) {
echo $_POST['test'];
exit;
}
?>
答案 1 :(得分:0)
您可以尝试使用HTML名称,即€
有关ASCII代码和HTML等效项的完整列表,请参阅此link
答案 2 :(得分:0)
您收到的是€,因为它是以UTF-8编码的,但您将其解释为不同的编码(可能是Windows-1252或ISO-8859-1)。
根据您看到的字符(â?¬
)判断,字节序列0xE2 0x82 0xAC
与ISO-8859-1匹配。
查看POST请求的内容类型标头,为this answer outline。它将指示提交表单时使用的编码。
修改强>:
如果在切换到将表单数据解释为UTF-8时获得单个?
,则可能已正确解释它。您没有看到好€
的原因可能是因为您使用ISO-8859-1终端而不是ISO-8859-15终端查看数据(前者没有定义€符号)。
答案 3 :(得分:0)
在我的情况下,我缺少<meta charset="utf-8" />