2011-01-25 54 views
4

當我在php字符編碼的問題,所以這是PHP代碼:編碼問題使用ヶ輛方法

n_event=$_GET['ndlann']; 
$nom_complet=htmlentities(stripslashes($_POST['nom'])); 
$email_comment=htmlentities(stripslashes($_POST['email'])); 
$titre_comment=htmlentities(stripslashes($_POST['titre'])); 
$texte_comment=htmlentities(stripslashes(nl2br($_POST['commentaire']))); 
$pays_comment=$_POST['pays']; 
$date_ajout=date('Y/m/d'); 

的數據將在數據庫表中添加,你看,這個數據來自評論形式, 所以當用戶輸入與東方語言carachters(阿拉伯語,希伯來語...等)的一些意見,輸入數據將改變爲類似:

Ø'Ùراع٠٠ا٠٠٠ض٠Ø

我試圖刪除ヶ輛方法和工作正常,但啓動(JS腳本將被執行)評論形式的擔保另一個問題

我能做些什麼這種情況呢?

,並感謝

+2

您是否嘗試將字符集中的字符集設置爲例如UTF-8? – Marcin 2011-01-25 10:36:30

+0

該怎麼辦? htmlentities($ _ POST ['comment'],'charset = UTF-8')?? – SmootQ 2011-01-25 10:39:41

回答

2

不要()曾經使用ヶ輛。

這個功能很久以前就已經過時了。 改爲使用htmlspecialchars()

你也有一堆廢話在你的代碼

  • htmlentities(nl2br(*))有沒有意義。

  • 只有在設置了魔術引號的情況下才能使條帶條件有條件。

  • pays字段可能存在問題。

  • 我也擔心你將某些SQL升級功能作爲功能。我對嗎?

2

在我看來,根據the PHP doc,接受的答案是不正確的。 沒有地方寫這個函數已被棄用。

如果您正確設置了函數的第三個參數,稱爲$encoding,它將解決您的問題。

我希望這會有所幫助。