簡體   English   中英

在PHP中轉換特殊字符

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

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