尝试保存带有重音符号的字符串时遇到问题。
我们的在线系统被来自不同国家的客户使用,因此我们的一些客户使用口音。
当请求获取要保存的值时,像这样
$value = trim(strip_tags(htmlspecialchars($_REQUEST['value'], ENT_QUOTES, 'UTF-8')));
它以这种方式保存价值
Gé
如果我使用 htmlentities 而不是 htmlspecialchars 它会像这样保存
géî
我要保存的正确字符串是
Gé
我需要正确保存它,以便它可以正确显示在屏幕和报告上。
我们的数据库使用 UTF-16 (MS SQL Server),我在页面上声明元标记使用 UTF-8,如下所示
<meta charset='utf-8'>
<meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
这是连接的样子:
$link = sqlsrv_connect($dbserver, array(
'Database'=>$database,
'UID' => $uid,
'PWD' => $pwd,
'CharacterSet' => 'UTF-8'
));