让我们看看我是否可以清楚地解释,因为这不是一个简单的话题: 我在表单中使用HTML5模式验证,以允许特殊字符,如带引号和ñ的人声。这是我使用的模式: [A-Za-zñÑáéíóúÁÉÍÓÚ0-9。, - / _:)(] + 如果我在自己的php页面中设置验证它可以正常工作:
[...]
<form method="post" action="mod_netrep.php">
<?php
$tcoments="<input type='text' pattern='[A-Za-zñÑáéíóúÁÉÍÓÚ0-9 .,-/_:)(]+' title='SOLO ALFANUMERICOS y .,-/_:)(' maxlength='100' style='width:250px;font-weight:bold;' name='coments' id='coments'>";
echo $tcoments;
?>
</form>
[...]
但是当我将验证调用到另一个php中包含的函数时,它不会验证任何引用的声音或ñ(ñÑáéíóúÉÉÍÓÚ),但其他特殊字符,数字和常规字符仍然有效:
[...]
<form method="post" action="mod_netrep.php">
<?php
$tcoments=tmenu("coments");
echo $tcoments;
?>
</form>
[...] 这是函数tmenu():
function tmenu($dato){
$tmenu="<input type='text' pattern='[A-Za-zñÑáéíóúÁÉÍÓÚ0-9 .,-/_:)(]+' title='SOLO ALFANUMERICOS y .,-/_:)(' maxlength='100' style='width:250px;font-weight:bold;' name='$dato' id='$dato'>";
return $tmenu;
}
如果不清楚,请告诉我。提前谢谢。
答案 0 :(得分:0)
您可能使用不同的字符编码。
作为一般经验法则,您应该确保所有内容都是UTF-8!
这意味着,您的IDE,PHP文件,数据库,HTML元标记,一切!
如果您需要从其他编码转换字符串,请参阅此内容! http://php.net/manual/en/function.mb-convert-encoding.php