2012-10-21 117 views
0

我有國家的下拉列表之前到下拉值..的HTML代碼如下:特殊字符插入分貝

<select> 
<option value=」Singapore「>Singapore</option> 
</select> 

此HTML代碼駐留在一個PHP頁面,其接着發送形式並將下拉列表中的值存儲到mysql數據庫中。

之前,我將其發送至數據庫,PHP中我做下面一個小的數據消毒:

$post_tag2 = mysqli_real_escape_string($db_conn, $post_tag2); 
$post_tag2 = preg_replace('/\s+/', '', $post_tag2); 
$post_tag2 = strtolower($post_tag2); 

其中post_tag2具有從下拉列表中選擇值。我基本上把它轉換成小寫,並刪除所有的空格,然後將其存儲到我的分貝。

但是這一切的結果是,當數據被保存到數據庫是這樣的:

â€singapore“ 

如果下拉值是布基納法索,然後在DB是:â€burkina (基本上字之後空間消失,然後在布基納法索前有額外的符號)

我如何確保這些額外的符號â€不來?另外,爲什麼在空間之後切斷這個詞?

謝謝!

+0

,我有這樣一行: 設置字符編碼爲UTF-8 – kallakafar

+2

恐怕你真的在你的html代碼中使用''''&'」',但它應該是'''' – pozs

回答

1

您正在使用錯誤的引號類型,將被解釋爲內容。因此,由於沒有適當的分隔符,因此空格將指示屬性值的結尾。

你必須爲使用'"

<option value="Singapore">Singapore</option> 
<option value='Singapore'>Singapore</option> 
在我的HTML
+0

謝謝。我把它改爲單引號,現在它的工作:) – kallakafar

+0

不客氣... – ndm