上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
PBlue
註冊時間: 2009-04-09 文章: 2
第 1 樓
|
發表於: 星期四 四月 09, 2009 5:15 pm 文章主題: Foxpro 讀取 MySQL 里的中文字變成問號 [Solved] |
|
|
本人嘗試用Foxpro 9.0 (SP2) 聯到 MySQL (5.1.11) 有以下問題:
(1) Foxpro 可以連上 MySQL
(2) Foxpro 可以新增中文記錄到MySQL
但由Foxpro讀取MySQL中記錄到Foxpro中時全部中文變成問號 (???)
MySQL database table:
character set: big5 collation: big5_chinese_ci
以下程序碼嘗試用Foxpro 設定MySQL幾個和字符集有關的變量並比較設定前後,但用Foxpro browse時中文全為???:
已附上該小程序供指教,謝謝!
PBlue 在 星期三 四月 15, 2009 3:46 pm 作了第 1 次修改 |
|
回頂端 |
|
|
ckp6250
註冊時間: 2004-07-30 文章: 1645
第 2 樓
|
發表於: 星期四 四月 09, 2009 9:38 pm 文章主題: |
|
|
小弟的建議是
如果您的Mysql是 5.xx 以上的版本的話
MySQL database table:
一律設成utf8,不要設成Big5
至於您的連線字串,請改成下列試看看
m.lih=sqlstringconnect("DRIVER={MySQL ODBC 5.1 Driver};SERVER=xxx.xxx.xxx.xxx;UID=username;PWD=password;Stmt=set names big5;database=db_name;charset=Big5")
另外,有一點您要注意,如果您的Mysql是3.xx的話,那麼ODBC也最好換成Myodbc 3.51.x |
|
回頂端 |
|
|
PBlue
註冊時間: 2009-04-09 文章: 2
第 3 樓
|
發表於: 星期三 四月 15, 2009 3:45 pm 文章主題: |
|
|
ckp6250 寫到: | 小弟的建議是
如果您的Mysql是 5.xx 以上的版本的話
MySQL database table:
一律設成utf8,不要設成Big5
至於您的連線字串,請改成下列試看看
m.lih=sqlstringconnect("DRIVER={MySQL ODBC 5.1 Driver};SERVER=xxx.xxx.xxx.xxx;UID=username;PWD=password;Stmt=set names big5;database=db_name;charset=Big5")
另外,有一點您要注意,如果您的Mysql是3.xx的話,那麼ODBC也最好換成Myodbc 3.51.x |
根據大哥的指引,已能看到中文,萬分感謝 |
|
回頂端 |
|
|
goodnight
註冊時間: 2008-10-13 文章: 472 來自: 台南市
第 4 樓
|
發表於: 星期一 二月 11, 2019 11:16 am 文章主題: |
|
|
ckp6250 寫到: | 小弟的建議是
如果您的Mysql是 5.xx 以上的版本的話
MySQL database table:
一律設成utf8,不要設成Big5
至於您的連線字串,請改成下列試看看
m.lih=sqlstringconnect("DRIVER={MySQL ODBC 5.1 Driver};SERVER=xxx.xxx.xxx.xxx;UID=username;PWD=password;Stmt=set names big5;database=db_name;charset=Big5")
另外,有一點您要注意,如果您的Mysql是3.xx的話,那麼ODBC也最好換成Myodbc 3.51.x |
請問 CPK大大
在VFP中連接 MYSQL 讀取資料, ;charset=Big5" 這段, 只能加在連接字串嗎?
我試過在 vfp 9.0 sp2+MySQL ODBC 5.1 Driver使用 SQLEXEC()的方式是無效的
不知道有沒有人是用 SQLEXEC()的方式來處理編碼??
還是 VFP 只能使用連接字串處理編碼? _________________ 希望有更多人來參與
VFP wiki - 需要大家一起完成的VFP電子書與FAQ |
|
回頂端 |
|
|
chilin
註冊時間: 2003-10-01 文章: 79 來自: Taipei,Taiwan
第 5 樓
|
發表於: 星期三 二月 13, 2019 10:12 pm 文章主題: |
|
|
要注意有雷!
MySQL database table:
設成utf8:
資料表有字串格式欄位時,用SQLEXEC() 抓下來的CURSOR 字串欄位長度會變成3倍。
設成big5:
資料表有字串格式欄位時,用SQLEXEC() 抓下來的CURSOR 字串欄位長度會變成2倍。
SQLEXEC() 抓下來的CURSOR,用MODI STRU看一下。 _________________ 一個喜愛Latte的男人 |
|
回頂端 |
|
|
goodnight
註冊時間: 2008-10-13 文章: 472 來自: 台南市
第 6 樓
|
發表於: 星期四 二月 14, 2019 9:33 am 文章主題: |
|
|
chilin 寫到: | 要注意有雷!
MySQL database table:
設成utf8:
資料表有字串格式欄位時,用SQLEXEC() 抓下來的CURSOR 字串欄位長度會變成3倍。
設成big5:
資料表有字串格式欄位時,用SQLEXEC() 抓下來的CURSOR 字串欄位長度會變成2倍。
SQLEXEC() 抓下來的CURSOR,用MODI STRU看一下。 |
感謝告知, 但印象中, 若超過256好像會自動變成 memo 欄位 _________________ 希望有更多人來參與
VFP wiki - 需要大家一起完成的VFP電子書與FAQ |
|
回頂端 |
|
|
|