MySQL中反斜槓轉義應用

2021-10-07 21:45:03 字數 733 閱讀 3446

問題描述:

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...