問題描述:
mysql中帶有反斜槓的內容入庫後,發現反斜槓無故失蹤了(俗話說被吃掉了)
例:插入insert into tb('url') values('absc\eeee'); 結果資料庫裡的內容是:absceeee(反斜槓沒了呢)
這麼詳細了相信大家都搞清楚問題了吧,下面看解決方案:
insert into tb('url') values('absc\\eeee'); 資料庫裡的內容是:absc\eeee
發生了什麼:
mysql 在插入資料庫的時候,會自動去除轉義字元也就是反斜槓"\",addslashes(),mysql_escape_string()使用這些函式可以在反斜槓前再加個反斜槓也就是成了 absc\\eeee,在入庫的時候第乙個反斜槓被認為是轉義字元,第二個反斜槓被認為是常規內容,所以去除了第乙個反斜槓,保留了第二個,看到的結果是反斜槓插進去了。
反之 查詢也一樣 例如 你的字段存乙個json 例:
欄位名:safety
值
這個時候你有個問題需要改變字段值這個時候就需要用到\來轉義
例如 select id,
replace(safety, "\"businessimg\":0", "\businessimg\:1") as insurance
from 表明
這個時候你查出來的safety這個欄位是 如果不使用反斜槓\查詢 那查詢出來的字段值是 不是乙個真正的json。這個解釋應該能懂了吧。
JS中的反斜槓轉義字元作用
轉義字元是c語言中表示字元的一種特殊形式。通常使用轉義字元表示ascii碼字符集中不可列印的控制字元和特定功能的字元,如用於表示字元常量的單撇號 用於表示字串常量的雙撇號 和反斜槓 等。轉義字元用反斜槓 後面跟乙個字元或乙個八進位制或十六進製制數表示。轉義字元 意義 ascii碼值 十進位制 a 響...
QSettings 與中文(反斜槓 轉義)
本文介紹的是qsettings的 iniformat 截止目前 qt4.7 對中文的支援情況,如果你想實現自己定義格式 比如 中文 中文 中文 這樣 可參看qsettings 自定義格式qt4.4 包含 之前 先看個例子 結果如下 setcion key x6211 x662f x6c49 x5b5...
mysql斜槓轉義php PHP 轉義與反轉義函式
php向mysql資料庫插入資料進行轉義包括兩方面的操作,第一方面需要在新增資料時通過資料轉義將資料寫入庫中,第二方面在將資料顯示在頁面時需要再次將資料恢復為原始狀態,即反轉義。一 資料轉義 1 mysql escape string content 二 反轉義 1 stripslashes con...