我正在尝试从POST表单中获取数据。当用户输入"habláis"
时,它会在视图源中显示为"habláis"
。我想将其转换为"habláis"
以进行字符串比较,但utf8_encode()
和htmlentities()
输出habláis
,而htmlspecialchars()
不执行任何操作。我会使用str_replace
,但在搜索字符串时它不会识别á。
我正在跨页面使用utf-8的字符集。知道发生了什么事吗?
答案 0 :(得分:4)
您可能没有将UTF-8指定为htmlentities()
操作的字符集。
答案 1 :(得分:3)
我不确定这是不是您的问题,但您是否使用UTF-8参数调用htmlentities
?我问,因为那不是它的默认值:
与htmlspecialchars()一样,需要一个 可选的第三个参数charset 定义中使用的字符集 转换。目前,ISO-8859-1 字符集用作默认值。
所以你可能想尝试这样调用你的函数:
$output = htmlentities($input, ENT_COMPAT, 'UTF-8');
这会解决您的问题吗?