用戶可能輸入在輸入框中輸入一些特殊字符:如何處理網頁輸入框中的引號?
<input type="text" name="task_description" id="task_description" value="<?cs var:Query.task_description?>">
雙引號和例如單引號。我需要獲取他們的輸入文本,並將task_description插入到我的數據庫表中。
我的服務器上,我寫的用C++我的CGI和我的數據庫爲MySQL。
用戶的輸入將通過JSON傳輸到服務器。
的問題是在服務器端,當我想通過用戶輸入的字符串
JSON,我就不能得到正確的。例如:
如果用戶輸入:
你好 「」 你好
在服務器端,我得到這樣的JSON輸入字符串:
static string get_escape_string(const string& src)
{
static char escape_buffer[1024*1024];
mysql_escape_string(escape_buffer, src.c_str(), src.length());
string dst(escape_buffer, strlen(escape_buffer));
return dst;
}
//here is how I get the user's input
string remarks = get_escape_string(record[i]["remarks"].asString());
「記錄」是JSON數據,操作後我只能得到:你好
它在第一個雙重誇佔標記被截斷。
我試圖使用功能「越獄」在前端JavaScript代碼,而「逃」不能
代碼雙引號。
我該如何處理雙引號和單引號?
在此先感謝!
你問在插入數據庫之前如何去除特殊字符? –
您使用哪種服務器端技術? –
我允許用戶輸入他們想要的任何東西,所以我不想剝離特殊字符,在我的服務器端,我使用C++編寫我的CGI,用戶的輸入將以JSON傳輸到服務器,而我的數據庫是mysql。問題是當我想用JSON獲取用戶輸入的字符串時,我無法得到正確的輸入。 – zenis