線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1981
推到 Plurk!
推到 Facebook!

請較一下delphi 與mysql的輸入中文問題

答題得分者是:Coffee
tienhsing
一般會員


發表:2
回覆:4
積分:1
註冊:2006-12-28

發送簡訊給我
#1 引用回覆 回覆 發表時間:2006-12-29 09:08:05 IP:203.160.xxx.xxx 訂閱
請問各位前輩,小弟在使用delphi用ado連線至mysql時候,執行時候輸入中文,他都會出現這一串字,輸入英文卻不會
Project Project1.exe raised class EOleException with message'[mysql][odbc3.51 Driver][mysqld-5.0.22-community-nt]Data too long for column 'worker_name' at row 1'.
可是我設定的欄位大小是足夠可以容下我所輸入的字串,不知是否小弟有設錯了什麼嗎
小弟使用的是Delphi 2005 ,MySQL 5.0 ,ODBC 3.551版
bestlong
站務副站長


發表:126
回覆:734
積分:512
註冊:2002-10-19

發送簡訊給我
#2 引用回覆 回覆 發表時間:2006-12-29 10:17:10 IP:60.248.xxx.xxx 未訂閱
請檢查資料庫語系編碼與用戶端編碼是否適當
可以用 Query 執行 "show variables" 指令後列出內容
注意開頭為 Character_set_* 與開頭為 Collation_* 的語系設定值
若是有 latin1 的設定,當輸入中文時有些字元會造成 SQL 錯誤
------
http://blog.bestlong.idv.tw/
http://www.bestlong.idv.tw/
http://delphi-ktop.bestlong.idv.tw/
pcboy
版主


發表:177
回覆:1838
積分:1463
註冊:2004-01-13

發送簡訊給我
#3 引用回覆 回覆 發表時間:2006-12-29 12:09:51 IP:210.241.xxx.xxx 未訂閱
請問是不管輸入幾個中文字都會這樣? ( 請參考樓上去檢查語系相關設定)
還是 和英文字相同字數的中文時候出錯 ?中文字 2 bytes , 您的欄位加寬一倍嘗試看看
------
能力不足,求助於人;有能力時,幫幫別人;如果您滿意答覆,請適時結案!

子曰:問有三種,不懂則問,雖懂有疑則問,雖懂而想知更多則問!
tienhsing
一般會員


發表:2
回覆:4
積分:1
註冊:2006-12-28

發送簡訊給我
#4 引用回覆 回覆 發表時間:2006-12-29 13:11:30 IP:203.160.xxx.xxx 訂閱
感謝 bestlong 前輩與pcboy2前輩的說明,開頭為 Character_set_* 與開頭為 Collation_* 的語系設定值有些是big5,有些是utf8,但是小弟要如何去修改呢,小弟笨拙,煩請指教,不勝感激。


Coffee
版主


發表:31
回覆:878
積分:561
註冊:2006-11-15

發送簡訊給我
#5 引用回覆 回覆 發表時間:2006-12-29 13:28:56 IP:220.130.xxx.xxx 訂閱
see mysql online-help

http://dev.mysql.com/doc/refman/5.1/en/charset-collations.html

alter | create database Collation
alter | create table Collation
alter | create column Collation //only work in mysql5?
------
不論是否我發的文,在能力範圍皆很樂意為大家回答問題。
為了補我的能力不足之處,以及讓答案可以被重複的使用,希望大家能儘量以公開的方式問問題。
在引述到我的文時自然會儘量替各位想辦法,謝謝大家!
tienhsing
一般會員


發表:2
回覆:4
積分:1
註冊:2006-12-28

發送簡訊給我
#6 引用回覆 回覆 發表時間:2007-01-02 10:27:00 IP:203.160.xxx.xxx 訂閱
謝謝各位前輩的幫忙,可是改了之後還是出現相同的錯誤,還是無解,不知是否還有其他的方法可以處理呢,謝謝
Coffee
版主


發表:31
回覆:878
積分:561
註冊:2006-11-15

發送簡訊給我
#7 引用回覆 回覆 發表時間:2007-01-02 12:12:47 IP:220.130.xxx.xxx 訂閱
你把程式碼post上來看看好了,因為我最近也有用delphi mysql,版次跟你的很接近,但沒這個問題
------
不論是否我發的文,在能力範圍皆很樂意為大家回答問題。
為了補我的能力不足之處,以及讓答案可以被重複的使用,希望大家能儘量以公開的方式問問題。
在引述到我的文時自然會儘量替各位想辦法,謝謝大家!
bestlong
站務副站長


發表:126
回覆:734
積分:512
註冊:2002-10-19

發送簡訊給我
#8 引用回覆 回覆 發表時間:2007-01-02 12:40:05 IP:60.248.xxx.xxx 未訂閱
將開頭為 Character_set_* 與開頭為 Collation_* 的語系設定值全數列出來
還有資料庫的 schema 也列出來
MySQL 的語系設定有很多個層次,全部要一一確認過才能完整解決
------
http://blog.bestlong.idv.tw/
http://www.bestlong.idv.tw/
http://delphi-ktop.bestlong.idv.tw/
tienhsing
一般會員


發表:2
回覆:4
積分:1
註冊:2006-12-28

發送簡訊給我
#9 引用回覆 回覆 發表時間:2007-01-03 10:18:27 IP:203.160.xxx.xxx 訂閱
我將我的mysql的設定值上傳給各位看,請各位前輩幫我看看問題在哪,謝謝

tienhsing
一般會員


發表:2
回覆:4
積分:1
註冊:2006-12-28

發送簡訊給我
#10 引用回覆 回覆 發表時間:2007-01-03 10:21:29 IP:203.160.xxx.xxx 訂閱
這是我的table資料,感謝各位前輩的指導,謝謝你們。
員工姓名 身分證字號 worker_birthday 員工生日 員工性別 員工電話 員工手機 員工住址 員工上線與否
worker_no 自動給值
varchar 10
varchar 10
date
tinyint
varchar 12
varchar 10
varchar 50
tinyint 0:no Default:1

系統時間:2024-05-19 18:04:01
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!