Mau*_*oon 3 php string character-encoding
我已经尝试了很多功能,但我根本无法解决这个问题.无论如何,正确的方式.
在名为description的表单字段中,我可以期待各种字符.这些需要在提交给数据库之前格式化为HTML实体.
现在,我的代码:
$formdesc = htmlentities($_POST['formdesc'], ENT_QUOTES);
Run Code Online (Sandbox Code Playgroud)
对于MySQL查询,我只需添加一个"安全"函数来削减'off the string:
mysql_real_escape_string($formdesc);
Run Code Online (Sandbox Code Playgroud)
但是,这有时不起作用.例如,"é"变成了é而不是é.
必须有一个正常的功能.有谁知道我的意思?
Gum*_*mbo 13
您需要指定htmlentities
函数的编码(此处为UTF-8):
$formdesc = htmlentities($_POST['formdesc'], ENT_QUOTES, 'UTF-8');
Run Code Online (Sandbox Code Playgroud)
否则使用默认值ISO-8859-1
,并且é
以UTF-8编码为0xC3A9的示例中的字符将被解释为两个字符(Ã
和©
).
但是你为什么htmlentities
还要用?如果你只是想逃避的HTML特殊字符,例如&
,<
,>
,"
和'
htmlspecialchars
就足够了.