[英]PHP: utf-8 encode, htmlentities giving weird results
我正在嘗試從 POST 表單中獲取數據。 當用戶輸入"habláis"
時,它在視圖源中顯示為"habláis"
。 為了進行字符串比較,我想將其轉換為"habláis"
,但是utf8_encode()
和htmlentities()
都在輸出habláis
,而htmlspecialchars()
什么都不做。 我會使用str_replace
但它在搜索字符串時不會識別 á 。
我在頁面中始終使用 utf-8 字符集。 知道發生了什么嗎?
您可能沒有將 UTF-8 指定為htmlentities()
操作的字符集。
我不確定這是否是您的問題,但您是否使用 UTF-8 參數調用htmlentities
? 我問,因為這不是它的默認值:
與 htmlspecialchars() 一樣,它接受一個可選的第三個參數 charset,它定義了轉換中使用的字符集。 目前,默認使用 ISO-8859-1 字符集。
因此,您可能想嘗試像這樣調用您的 function:
$output = htmlentities($input, ENT_COMPAT, 'UTF-8');
這能解決你的問題嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.