簡體   English   中英

PHP:utf-8 編碼,htmlentities 給出奇怪的結果

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM