我有一個字符串,將包含特殊字符。在數據庫中存儲特殊字符的最佳方式是什麼?
for example
EC-1CF08540B7799143A
每當我試圖存儲它到數據庫,將其保存爲
EC%2d1CF08540B7799143A
什麼將是存儲與特殊字符的字符串在mySQL
和使用PHP檢索原始形式的最佳方式是什麼?
我有一個字符串,將包含特殊字符。在數據庫中存儲特殊字符的最佳方式是什麼?
for example
EC-1CF08540B7799143A
每當我試圖存儲它到數據庫,將其保存爲
EC%2d1CF08540B7799143A
什麼將是存儲與特殊字符的字符串在mySQL
和使用PHP檢索原始形式的最佳方式是什麼?
使用
<?php
$sting = $_REQUEST['string'];
$new_string = str_replace("%2d", "-", $string);
?>
現在保存這個$ new_sting到數據庫中。
你可能想要'$ string'作爲第一個變量,'$ sting'聽起來很好吃。 – briosheje
這假設唯一需要轉換的字符是連字符,我甚至不會將其視爲特殊字符。如果你開始手動轉換編碼錯誤,那麼你正在走向一個(編程)痛苦的世界。 –
檢查數據庫正在使用的編碼,然後確保HTML文件中的meta
標記也使用相同的編碼類型。
要找出你的表的編碼,使用
SHOW CREATE TABLE mytable;
這將輸出的創建語句表,包括編碼(CHARSET
)。
在HTML的頭,你應該有一個線,如
<meta charset="UTF-8">
確保您的SQL輸出匹配的字符集本,反之亦然。
理想情況下,他們都將使用UTF-8。
將列整理設置爲「urf_general_ci」到該特定欄並嘗試。
使用utf8編碼來存儲這些值。 – Saty
什麼編碼將連字符轉換爲%2d? – Devon
如果你有你的答案,那麼請標記爲完整的問題。 –