我曾將Google Apps用作Web應用程序的REST API,但發現每當我嘗試插入新記錄時,API都不會保留加號。由於瀏覽器上的起始策略相同,JSON必須作爲URL上的參數傳遞給API。該過程首先對JSON進行了劃分,然後使用JavaScript中的轉義函數對值進行了轉義。在Google Apps腳本+ MySQL中將空格轉換爲空格
但是,一旦請求到達Google Apps,Google進程在到達doGet()之前解析請求對象,將未轉義的「+」視爲空格。
這是一個非常瘋狂的錯誤識別,所以如果有人遇到它,我希望我的經驗解決它的幫助。只需使用encodeURIComponent()而不是escape(),那應該可以做到。
查看準備好的語句。不需要轉義。 – David
@David我已經做了,但無論如何都不能避免轉義某些字符,因爲該語句可能包含需要轉義的字符串。另外,使用準備好的語句爲我的sql builder增加了很多複雜性。我寧願用JavaScript處理轉義,但我需要知道所有需要轉義的字符。顯然,甲骨文公司的某個人在編寫關於此事的足夠全面的文檔方面放棄了這一決定,因爲「出人意料!」字面加號在文檔中沒有列出作爲逃逸字符。我不希望有更多的驚喜。 –
「字面加號在文檔中沒有被列爲逃生字符」---這是因爲*驚喜*'+'在一般的SQL和它的mysql方言中並不是什麼特殊的。對於你的任務,你不需要照顧至少一半你列舉的逃生序列。 「 – zerkms