DELPHI+ADO+MYSQL的中文问题!

CDMAA 2003-10-18 02:05:45
为什么DELPHI+ADO+MYSQL对中文支持很不好呢?
我的一个字段为UOR
我在DELPHI中用起MYSQL来很不方便,因为他对中文支持很差
我用ADOQUERY去执行SELECT * FROM MYDB WHERE UOR=‘LLLL’ AND UZZ=‘OOO’就是对的
如果我执行SELECT * FROM MYDB WHERE UOR=‘中文’ AND UZZ=‘OOO’就报错,说未指定错误,有谁来帮我解决一下!
...全文
494 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
sleetdrop 2004-02-01
  • 打赏
  • 举报
回复
好象borland建议用DBExpress,据说又快又好用,正学习ing.
flymoon 2004-02-01
  • 打赏
  • 举报
回复
你换DBExpress做个连接试试,如果没有问题那一定是ADO或ODBC的问题,
另外mysql的服务器端配置将character_set设为gbk试试,
Mysql4.x需要升级客户端连接,DBExpress的客户端必须升级,ODBC和ADO的没用过,估计也必须升级,因为Mysql4.x增加了很多功能,比如正式开始支持事务了。
mysql对中文列支持和中文数据支持很好,至少我没有碰到问题
henreash 2004-01-30
  • 打赏
  • 举报
回复
尽量用英文建立数据库.要不再以后会遇到很多问题,如果看不懂就用汉语拼音
lqdmafeng 2004-01-30
  • 打赏
  • 举报
回复
请问你的这个问题解决了没有,楼主??

我也是这样的错误哦,
!

getit911 2004-01-30
  • 打赏
  • 举报
回复
你换DBExpress做个连接试试,如果没有问题那一定是ADO或ODBC的问题,
另外mysql的服务器端配置将character_set设为gbk试试,
Mysql4.x需要升级客户端连接,DBExpress的客户端必须升级,ODBC和ADO的没用过,估计也必须升级,因为Mysql4.x增加了很多功能,比如正式开始支持事务了。
mysql对中文列支持和中文数据支持很好,至少我没有碰到问题
manboo 2004-01-30
  • 打赏
  • 举报
回复
mysql现在不支持中文建表了,主要是因为UnionCode问题,要制定服务器端解码方式,我发现mysql支持big5不支持gb2312比较搞笑,可能是台湾搞开源的人比较多,在mysql中建立中文表名和中文字段不会出错,但是当使用的时候可能会有一些问题,因为你要在客户端制定解码方式,那样服务器才能正确识别命名。但是好像没有看到一些现有的ODBC或者OLE DB驱动支持,Connector++倒是支持不过,那时C++的类库
kaiyun97 2003-10-24
  • 打赏
  • 举报
回复
我用varchar类型,是有这个问题
CDMAA 2003-10-24
  • 打赏
  • 举报
回复
up
CDMAA 2003-10-20
  • 打赏
  • 举报
回复
help me
CDMAA 2003-10-18
  • 打赏
  • 举报
回复
HELP
xjpepitceo 2003-10-18
  • 打赏
  • 举报
回复
用nvarchar类型
hks 2003-10-18
  • 打赏
  • 举报
回复
可不可以把数据库中的字段类型设置为Unicode?
snake_eye 2003-10-18
  • 打赏
  • 举报
回复
MYSQL这种诞生于Linux的东东,和Delphi我是没搞过,如果ADO换成Java的JDBC后没问题的话那么问题就在ADO了!
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("org.gjt.mm.mysql.Driver").newInstance();
String url ="jdbc:mysql://localhost/mysql?&useUnicode=true&characterEncoding=8859_1";
//testDB为你的数据库名
Connection conn= DriverManager.getConnection(url);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="SELECT * FROM MYDB WHERE UOR=‘中文’ AND UZZ=‘OOO’";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的第一个字段内容为:<%=rs.getString(1)%>
您的第二个字段内容为:<%=rs.getString(2)%>
<%}%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
如果上面的Jsp代码在web服务器下执行正常,那ADO和MYSQL可能就真的有问题了!
CDMAA 2003-10-18
  • 打赏
  • 举报
回复
绝对一样,因为这个字段值是我从数据库中先取出来的呀,我试了在FRONT-MYSQL中是可以执行这条语句的,我老早也听朋友说ADO FOR MYSQL支持中文不是很好的,是不是这个原因
CDMAA 2003-10-18
  • 打赏
  • 举报
回复
我的字段为UOR,便在查询的时候,如果这个字段为中文的话,一查询就出错的呀!
grail_ 2003-10-18
  • 打赏
  • 举报
回复
不应该呀!
是不是你数据库或程序中写的有什么不一样呀!
如:全角或半角
CDMAA 2003-10-18
  • 打赏
  • 举报
回复
我没有用中文作字段,你没有看清楚吗?
yuting2659 2003-10-18
  • 打赏
  • 举报
回复
我认为用中文作字段,不是一个好习惯,建议不用中文。

2,495

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧