台灣最大程式設計社群網站
線上人數
1029
 
會員總數:246209
討論主題:189782
歡迎您免費加入會員
討論區列表 >> ASP >> 如何避免表單中特殊符號造成的錯誤?
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
如何避免表單中特殊符號造成的錯誤?
價值 : 60 QP  點閱數:2636 回應數:2
樓主

志明 版主
初學者
72 111
1666 152
發送站內信

有一個客戶在 Textbox 裡輸入以下文字 pμ'LCR-βpr-BglII-3′β(int2-enh)

在存入MySQL 時出現以下錯誤
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[MySQL][ODBC 3.51 Driver][mysqld-5.0.96-log]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ß(int2-enh)')' at line 1

/Quote-Request.asp, line 160

我剛開始以為是 μ 或 β 等字元,在確認前端頁面有加入 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 及後端該Textbox 是utf8_general_ci 後,並沒有解決以上存入MySQL 出現的錯誤.

一個字一個字拿掉後,才發現是 ′ 的問題,不是 μ 後面那個單引號 ' , 而是 β 之前那個 ′ ,二個竟是不同的。

請問要如何解決這個問題?此外,要如果避免表單中類似這種特殊符號(譬如 ` )造成的錯誤?

搜尋相關Tags的文章: [ 特殊符號 ] ,
本篇文章發表於2014-04-04 05:41
1樓
最有價值解答

香帥
檢舉此回應
我有幫您試過,若特殊符號要加雙引號才不會出錯,例如以下程式碼就可以

本篇文章回覆於2014-04-04 16:35
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

志明
檢舉此回應
感謝香帥,問題解決了!

此外,若用CDO Message 寄信,特殊符號像 ἄλφα 變成問號,就要加入底下那行UTF-8 就顯示正常了!

Set objMail = CreateObject("cdo.message")

objMail.BodyPart.Charset = "UTF-8"
本篇文章回覆於2014-04-05 02:38
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.