[英]Conversion of special characters in PHP
我已經嘗試了很多功能,但我根本無法解決這個問題。 無論如何,正確的方式。
在名為description的表單字段中,我可以期待各種字符。 這些需要在提交給數據庫之前格式化為HTML實體。
現在,我的代碼:
$formdesc = htmlentities($_POST['formdesc'], ENT_QUOTES);
對於MySQL查詢,我只需添加一個“安全”函數來削減'off the string:
mysql_real_escape_string($formdesc);
但是,這有時不起作用。 例如,“é”變成了é而不是é。
必須有一個正常的功能。 有誰知道我的意思?
您需要指定htmlentities
函數的編碼(此處為UTF-8):
$formdesc = htmlentities($_POST['formdesc'], ENT_QUOTES, 'UTF-8');
否則使用默認值ISO-8859-1
,並且以UTF-8編碼為0xC3A9的示例中的字符é
將被解釋為兩個字符( Ã
和©
)。
但是你為什么htmlentities
使用htmlentities
呢? 如果你只是想要轉義HTML特殊字符,如&
, <
, >
, "
和'
htmlspecialchars
就足夠了。
你有沒有嘗試過看htmlspecialchars()和htmlspecialchars_decode()
玩笑
看起來像通常的PHP轉義函數不適用於utf-8文本。 也許在JavaScript,PHP和非UTF8數據庫中處理UTF-8會對您有所幫助。 關於utf-8和PHP的另一個來源是PHP UTF-8備忘單 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.