2012-07-17 78 views
0

如何在php中消除像 這樣的奇怪字符串?我怎樣才能去掉像在PHP中的字符串?

我已經使用像html_entity_decode php函數,但它仍然不起作用。

任何人都可以提供幫助嗎?

+2

這是一個編碼問題。你是否有一個與你的服務器發送的一致的 2012-07-17 03:56:56

+0

這通常是由混合字符編碼引起的。確保頁面的字符編碼與服務器相同。 – wyqydsyq 2012-07-17 03:57:16

+0

@PhpMyCoder是的,我已經使用<元字符集,但仍然不工作... – 2012-07-17 03:58:33

回答

4

嘗試將這些行添加到您的db配置文件中。

$con = mysql_connect("localhost","root",""); 
if (!$con) 
    { 
    die('Could not connect: ' . mysql_error()); 
    } 
mysql_set_charset('utf8',$con); 
mysql_select_db("db_name", $con); 


<meta http-equiv="Content-Type" content="text/html; charset=utf8" /> 
+0

這使我的一天... – 2012-07-17 06:28:48

+0

你可能想考慮升級到PDO - 舊式的SQL函數是非常不安全的。綁定語句不僅更快,更高效,而且它們透明地隔離輸入,因此您不必擔心注入攻擊。 Little Bobby'Drop Tables'喜歡用舊式SQL命令玩遊戲。 – RonLugge 2012-07-17 20:08:31

1

不只是一個符號 - 它是用來代替您的瀏覽器無法理解的符號的符號。通常這是由編碼問題引起的 - 您設置了錯誤的編碼,或者某人正在使用來自不同編碼的符號。

你不能只是魔術般地去掉它,因爲它不只是一個字符。簡而言之,編碼是一個你不能只揮動魔杖的地方 - 你必須決定編碼,然後執行它。

如果你正在接受用戶輸入,我真的沒有任何線索如何幫助解決這個問題。您可以檢查常見原因(捲曲的引號和破折號與連字符不同,是我遇到的最多的地方),並強制手動替換它們,但如果用戶想輸入嚴重編碼的字符,不是你可以做的很多。

+0

+1,因爲你提到「你必須決定編碼,然後執行它。」你對此絕對正確。 – JRSofty 2012-07-17 06:28:32

0

試着改變你的<meta charset爲ISO-8859-1像

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
0

如果你的內容是ANSI編碼使用

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 

您可以檢查使用如編輯文件的編碼( NOTEPAD ++)

相關問題