台灣最大程式設計社群網站
線上人數
1168
 
會員總數:246203
討論主題:189774
歡迎您免費加入會員
討論區列表 >> ASP >> 讀取mysql 資料庫部分生僻中文字出現問號亂碼求解
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
讀取mysql 資料庫部分生僻中文字出現問號亂碼求解
價值 : 10 QP  點閱數:3242 回應數:10
樓主

小問
門外漢
0 3
96 12
發送站內信

部分生僻字例如 " 璍 " 可以正常存入 mySQL 中, mySQL 當中也能正常看到這個字, 但是透過網頁讀取出來就變成 " ? " , 詢問該如何解決

環境 IIS7.0 + MYSQL + ASP

mySQL字元集 : utf8 -- UTF-8 Unicode

資料庫連結語法 :


讀取頁面語法 :



搜尋相關Tags的文章: [ asp ] , [ 亂碼 ] , [ 問號 ] , [ 資料庫 ] , [ mysql ] , [ utf8 ] ,
本篇文章發表於2013-12-26 16:04
1樓
回應

得意
捐贈 VP 給 得意 檢舉此回應
前面再加這一段試試看


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

小問
檢舉此回應
沒有辦法哩~ 測試 "綉" 仍然會顯示 "?"
本篇文章回覆於2013-12-27 15:58
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

老頑童
捐贈 VP 給 老頑童 檢舉此回應
試試在Open後,查詢前先執行
Conn.execute("SET NAMES 'UTF-8'")

若還不行
試試桂正和兄的說法
改用
Conn.execute("SET NAMES 'BIG5'")
試試
本篇文章回覆於2013-12-27 17:50
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

小問
檢舉此回應
執行後會出現

Microsoft OLE DB Provider for ODBC Drivers ���~ '80040e14'

[MySQL][ODBC 5.2(a) Driver][mysqld-5.6.10]SET NAMES not allowed by driver

member_edit.asp, ��211

而 211 行是 Conn.execute("SET NAMES 'UTF-8'")
本篇文章回覆於2013-12-28 15:20
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

老頑童
捐贈 VP 給 老頑童 檢舉此回應
嗯,set names好像Driver 5.1後就取消了

若你有權修改MySQL設定
建議直接修改my.ini
在[Client]下加個
default-character-set=utf8

然後[mysqld]下面的default-character-set也改成utf8

重啟MySQL後再試試看
本篇文章回覆於2013-12-30 10:09
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
回應

ㄚ琪
捐贈 VP 給 ㄚ琪 檢舉此回應
conn.Open "dsn=MySQL;Stmt=Set Names 'UTF-8';"
這個好像不是ODBC合法的字串
改成這樣呢?
conn.Open "dsn=MySQL;Charset=UTF-8"

conn.Open "dsn=MySQL;Charset=UTF8"
試看看吧
本篇文章回覆於2013-12-30 10:29
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
作者回應

小問
檢舉此回應
謝謝 5F 6F 但是仍然無解呢 !

5F : 沒有my.ini 但是有 my-default.ini , 已加 default-character-set=utf8
6F : 會出現錯誤呢 ! 漏漏長就不貼了, 主要是說語法錯誤~
本篇文章回覆於2014-01-14 16:51
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
回應

史努比
檢舉此回應
MySQL官網 針對char及varchar說明

你建立Table時, 是否有設定varchar欄位儲存unicode編碼?

可以試試用alter table修改一下table的欄位型態
本篇文章回覆於2014-01-14 17:03
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
9樓
作者回應

小問
檢舉此回應
8F : 欄位字元集 utf8 , 排序規則 utf8_general_ci

可以寫入生僻字到 mysql 當中 ( 在 mysql 當中字型正常 )

但是讀取出來到 ASP 的頁面上顯示為亂碼 ( 問號 ? )
本篇文章回覆於2014-01-27 09:27
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
10樓
作者回應

小問
檢舉此回應
仍然等待求解.... 希望能有前輩再協助幫忙想想解決或是可能出問題的幫忙協助思考~
本篇文章回覆於2014-06-06 17:41
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

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