破宝

我是一块破破烂烂的宝贝石头。
随笔 - 85, 评论 - 1279, 引用 - 54

导航

工具

关于

自选精华版 RECOMMENDATIONS
留言板 GUESTBOOK

本人 blog 文章、图片及其他资源等,除另有声明外,均遵循以下原则向全球(当然包括朝鲜、古巴、利比亚等国)共享:

1。欢迎转载、复制、传播、引用,但转载、复制(包括但不仅限于作为参考资料复制到本地)、传播、引用同时必须在显著位置注明作者(破宝/percyboy)和文章原始 URL 地址等信息。但商业转载、复制、传播(尤指用于图书、光盘等媒体的部分或全部),须事先征得本人的许可。

2。文章以“现状”提供,不为由于使用本站资源而造成的任何损失而负责,仅提供力所能及的咨询和参考意见。

3。关于修改:允许您将本 blog 中的资源作为参考资料复制时的一定修改,但仍须保留作者和出处信息;其他情况下的修改(包括修改后再发布),须和本人确认许可。
 

标签

每月存档

广告



访客

 

我在前面的帖子中提到,我向 Firebird 开发者提出了 bug 报告(关于Firebird 数据库文件不能放置在含有中文等字符的路径中的 bug)。后来我又在 Firebird 2.0 的 Request 列表中添加了在新的版本中修复此 bug 的请求,列表管理员再次删除(前一次删除是因为bug报告重复,情有可缘)了我的请求,并告诉我:

http://sourceforge.net/tracker/index.php?func=detail&aid=1186455&group_id=9028&atid=593943

With respect to your question; Yes, the item was logged over
a year ago and no progress has been made -- this is the life
of software project (open or closed source).  A quick review of
other entries will show that other cases exist which are much
older.  Software development is a process which involves
trade-offs; time vs. most important changes -- not everything
can be fixed
! (时间 vs 重要性 —— 不是所有bug都会被修复)

As to your specific problem; there are no plans for this case
to be fixed for the v2.0 release


There is a simple workaround, which is available -- don't use
MBCS characters in the database name or folder.  It is not
the best answer, but it does work.

大意就是,这个问题现在还没有列到日程上,在2.0版本中他们不会修复这个bug。

真是个傲慢的西方人啊!他不会明白,如果对中文支持不好,我们怎敢真的在产品中使用这东西呢?

请大家好自为之,慎重采用 Firebird DB,开发者没有计划修复这个对我们来说非常严重的 bug。

--

2005-11-1附:下面有不少朋友都在说,不支持中文路径对编程没有任何影响,我说两句:

想必各位都是开发服务端程序(比如Web程序)的,在服务器端,当然是可以避免中文路径。但我的情况是作客户端的程序,用 Embeded 版本的 Firebird 存储一些数据,要把程序安装到最终用户的机器中使用,用户使用时很有可能选择一些含有中文路径的目录,这些都是不可预料的,所以支持中文路径非常必要。

相关文章

Loading...

打印 | 张贴于 2005-04-21 16:51:00 | Tag:暂无标签

留言反馈

# 选择什么数据库 编辑
(2006-07-17)刚才一个朋友问我有什么免费的Windows下可以用的中等规模的数据库推荐。他自己是想用Interbase,只是希望我能提供多几个选择。我就向他推荐了PostgreSQL,因为PgSQL8以后就有了纯Windows版本,而且功能强大,管理方便,并且外围支持也很丰富,最爽的还是BSD License。但是他还是倾向于IB,并且他对PgSQL在Windows下需要NTFS以及需要创建一个专用的pgsql用户不太喜欢。但我觉得PgSQL的这些要求正是为了最大限度地提供数据的安全保障,虽然增加一点麻烦,但是是值得的。我不介意重申我对我MySQL的成见,所以不向他推荐这个。那...
2007-12-15 18:33:00 | [匿名用户:it360]
#回复: 傲慢的西方人,慎重采用 Firebird DB 编辑
人家很和气的给你了回复.怎么能说是傲慢呢!
2007-08-25 12:53:00 | [匿名用户:achun]
#re: 傲慢的西方人,慎重采用 Firebird DB 编辑
自己蠢怪别人,自己不会把路径编码啊
2006-09-21 21:10:00 | [匿名用户:蠢货]
#re: 傲慢的西方人,慎重采用 Firebird DB 编辑
HEHE
LZ太把自己当回事情了!!!!
没人要你用firebird, 你用DB2 MS-SQL 。。。
时间 vs 重要性 ,人家不是告诉你了吗!

木看到个 傲慢的西方人,到看到个傲慢的中国人。。。 以为自己是 上帝啊?
2006-09-11 00:38:00 | [匿名用户:sin]
#拿apache/oracle不支持中文路径和Firebird DB比是不对的 编辑
因为apache/oracle肯定是在服务器上,安装时可以注意避免的

而Firebird DB如果用在桌面程序的本地数据库,用户怎么安装这个程序,开发者根本无法控制的
2006-08-12 11:24:00 | [匿名用户:haitao]
#选择什么数据库 编辑
总之,用什么数据库还是要根据应用的需要来的。当然,个人喜好也很重要,用一种不习惯的数据库,还是比较浪费时间和精力的。
2006-07-19 15:07:00 | [匿名用户:猛禽]
#re: 傲慢的西方人,慎重采用 Firebird DB 编辑
大多数外国人比中国人RP好多了
2006-07-02 17:28:00 | [匿名用户:good]
#re: 傲慢的西方人,慎重采用 Firebird DB 编辑
这个问题,通过修改.net provider的代码能够解决。实际上是由于按照默认的charset计算字符串长度,造成传给api的连接字符串中的数据库路径被截断。自然会报错。
稍稍跟踪一下,10分钟就能解决,只需要修改两个地方。
别太上升到“西方东方之争了”,人家并无义务帮你到所有。
搜索"database.length"即可。
2005-11-23 02:59:00 | [匿名用户:bidanjun@gmail.com]
#re: 傲慢的西方人,慎重采用 Firebird DB 编辑
汉字的确有很多优势,我也希望有一天能看到从编程语言、操作系统到数据库,所有的东西都没有西文——但是能做到吗?即使做到了又有什么更多好处呢?对于普通用户而言,全部是汉字的当然很好,也有必要,对于程序员,非得要把文件路径、数据库名也变成中文吗,如果有这个必要的话,或许就不再需要程序员这个职业了。
普通用户都能接受Windows这个词,为什么程序员不能接受西文的文件路径呢?
2005-10-31 22:26:00 | [匿名用户:guest]
#re: 傲慢的西方人,慎重采用 Firebird DB 编辑
我的 1.5.2 Embedded是可以有中文路径的
2005-09-26 16:45:00 | [匿名用户:Sephil]
#re: 傲慢的西方人,慎重采用 Firebird DB 编辑
大家多去firebird.net.cn看看吧!
人气还不错.
Firebird非常不错了, 免费的东西能做到这个程度.
一起佩服这些"傲慢的西方人", 非常敬业.
2005-09-22 23:02:00 | [匿名用户:jym013]
#re: 傲慢的西方人,慎重采用 Firebird DB 编辑
erik编译错误的原因应该是没有链接gds32.lib,而不是缺少gds.dll。
2005-09-18 11:48:00 | [匿名用户:wdx04]
#re: 傲慢的西方人,慎重采用 Firebird DB 编辑
Interbase/FireBird对中文的支持已经不错了,数据库文件中文路径问题是完全可以回避的,而且即使真的有这种要求,也不必去求人家,开放原代码的优势本来就是人人都可以作修改嘛。
我对FireBird最大的怨念就是没有全文索引,另外就是存储过程语法太复杂了。
2005-09-18 11:45:00 | [匿名用户:wdx04]
#re: 傲慢的西方人,慎重采用 Firebird DB 编辑
我用FIREBIRD1.5.2没有这个问题.FIREBIRD是个不错的数据库,小而功能强大.

只是"数据库文件的完整路径中不能有中文字符"而以嘛?
在实际应用中最好不要使用中文路径,这谁都知道.如果数据库不能保存中文那才不值得用.
人家又不是说不理,只是说时间问题.
而且这是中文问题,应该中国人解决.
2005-09-09 10:54:00 | [匿名用户:sombad]
#re: 傲慢的西方人,慎重采用 Firebird DB 编辑
编译FIREBIRD中的例子报错如下:
Compiling...
api1.c
Linking...
api1.obj : error LNK2001: unresolved external symbol _isc_start_transaction
api1.obj : error LNK2001: unresolved external symbol _isc_attach_database@24
api1.obj : error LNK2001: unresolved external symbol _isc_detach_database@8
api1.obj : error LNK2001: unresolved external symbol _isc_commit_transaction@8
api1.obj : error LNK2001: unresolved external symbol _isc_sqlcode@4
api1.obj : error LNK2001: unresolved external symbol _isc_dsql_execute_immediate@28
api1.obj : error LNK2001: unresolved external symbol _isc_print_status@4
Debug/api1.exe : fatal error LNK1120: 7 unresolved externals
Error executing link.exe.

api1.exe - 8 error(s), 0 warning(s)


我用VC6编译环境,XP操作系统,由于还是新手,期待大家多多指教,谢谢
FIREBIRD的库我都连接了,在网上进行相关的搜索,发现一个俄国人人的网站,他也是在测试代码的时候与到了同样的问题,我用翻译词典翻译了一下,大致出错内容是GDS32.DLL和GDS.DLL的之间的问题,目前我的机器上只有GDS32.DLL文件,但是那个俄国网站上他好象说是GDS.DLL文件也是必须的,我在官网上找GDS.DLL文件也没找到,真是郁闷!!!

2005-09-05 14:59:00 | [匿名用户:erik]
#了解一下 ORACLE,你就不会这样郁闷了。 编辑
应该是在 9i 版本,Oracle也仍然不允许你安装时指定中文目录。“不允许”并不是明确指出,而是你始终装上不。

想必有上千员工的Oracle 尚如此(不过影响它的市场了吗?),你又何心强求一个小小Firebird。人家确实精力有限。
2005-09-02 21:18:00 | [匿名用户:南郁]
#re: 傲慢的西方人,慎重采用 Firebird DB 编辑
according to my test results, it's okay to have chinese characters in the path of your fd database, if the path name is no longer than 8 bytes, that is, no more than 4 chinese characters. for path names longer than that, i got an invalid database handle exception.

there are two ways to work around the problem. one is, as the developers suggested, to use no chinese characters in the path. the other is to create the database in a controllable environment and use that file in a non-controllable environment. to recreate a new database in a non-controllable environment, just drop everyting in the already-created database.

hope this helps.
2005-08-22 09:46:00 | [匿名用户:kenwu]
#re: 傲慢的西方人,慎重采用 Firebird DB 编辑
to jym013:

我发现的这个 bug 就是在1.5.3版本下发现的。不知你是如何测试好用的?
或许你没有理解这个 bug 说的什么意思?

这个 bug 是说 FB 数据库文件名 不能含有 中文字符,
数据库文件所在的每一级父目录名 也都不能含有 中文字符。
也就是说 数据库文件的完整路径中不能有中文字符。
2005-08-20 17:59:00 | [匿名用户:破宝]
#re: 傲慢的西方人,慎重采用 Firebird DB 编辑
sqlite 也有这个问题。

如果 sqlite3.exe c:\.....中文目录\sqlitedb.db 找不到,出错。
如果 sqlite3.exe "c:\....中文目录\sqlitedb.db" 找到。OK,没问题。

用ado.net for sqlite 如果用中文目录,出错,找不到。


看来这些国外的东东,都有这样的问题。我现在也正为这个头痛中。呵呵
2005-08-02 19:12:00 | [匿名用户:wintle]
#re: 傲慢的西方人,慎重采用 Firebird DB 编辑
搞笑,不管怎么说,有大家这么热列的讨论,说明FB在中国还是有人注意的。不错。
2005-08-02 00:35:00 | [匿名用户:jake]
#re: 傲慢的西方人,慎重采用 Firebird DB 编辑
如果你那么反感英文,回复本页时要填的校验码你怎么不作成中文的?
2005-07-18 11:04:00 | [匿名用户:fly]
#re: 傲慢的西方人,慎重采用 Firebird DB 编辑
所有认为英文路径也可接受的网友们,请记住我们是中国人,我们用的是汉字!
2005-07-18 10:38:00 | [匿名用户:无名]
#re: 傲慢的西方人,慎重采用 Firebird DB 编辑
time vs. most important changes
楼主翻译的"时间 vs 重要性"有点不太准确,
确切的应该是"时间 vs 更多重要的更改"

其实什么软件都是这样,而且个人的真得很难理解为什么国内一些程序员喜欢使用把路径写成中文这样强烈电脑环境的方法

Windows的"not everything can be fixed! "恐怕更是多了去了,包括一些直接威胁到系统安全的bug
2005-07-11 00:07:00 | [匿名用户:loveapple]
#re: 傲慢的西方人,慎重采用 Firebird DB 编辑
老大!我想就时间 vs 重要度 来说,人家的观点是正确的
我想,对中文的支持是一个范围很宽的问题,并不只是中文目录名
问题,人家一定认为所有的中文问题可以暂时用折中的方法解决,
但是要彻底解决,涉及的代码太多,
所以...............
不过,我说句心里话,中国的程序员很多是盲从的,
fb很多程序员都不知道,就算知道了也有很多不会选,
他们会问有mysql,sql server用的人多么?
所以人家认为此问题重要度.........................
2005-07-08 09:17:00 | [匿名用户:achun]
#re: 傲慢的西方人,慎重采用 Firebird DB 编辑
估计是代码中路径的使用没有加引号,这好像是大多数中文路径错误的问题,应该好改,其实可以试着自己修改,然后提交给开发组,这才是opensource的含义

最近正在比较众多的数据库引擎,想选一个适合项目的,如果选了FB,可能会注意你说的问题
2005-06-30 21:14:00 | [匿名用户:cyantree]
#re: 傲慢的西方人,慎重采用 Firebird DB 编辑
没看出来傲慢.我觉得不能用中文路径很正常的啊
你用apache看看,都可以接受,而且是国际化的要求
2005-06-18 21:51:00 | [匿名用户:阿祥]
#re: 傲慢的西方人,慎重采用 Firebird DB 编辑
总算知道为什么我们和西方总是不和了,因为总是有人动不动就把芝麻绿豆大的事情抬高,挑起民族矛盾
2005-06-17 00:30:00 | [匿名用户:kaven]
#re: 傲慢的西方人,慎重采用 Firebird DB 编辑
FireBird 1.5.2 也有“不能用中文目录名”这个问题吗??
2005-05-12 11:45:00 | [匿名用户:blackart]
#re: 傲慢的西方人,慎重采用 Firebird DB 编辑
我好像懂一点C,那就我来改吧
2005-05-11 20:43:00 | [匿名用户:pantian]
#re: 傲慢的西方人,慎重采用 Firebird DB 编辑
to smartkid :
如果我懂 C/C++,我当然会改的。
2005-04-25 13:18:00 | [匿名用户:破宝]
#re: 傲慢的西方人,慎重采用 Firebird DB 编辑
不觉得他们傲慢,应为的确是这样的:not everything can be fixed
2005-04-21 19:25:00 | [匿名用户:i.Posei]
#re: 傲慢的西方人,慎重采用 Firebird DB 编辑
not everything can be fixed :) 这个是俺最常说的 :)
2005-04-21 18:24:00 | [匿名用户:microhelper]
#re: 傲慢的西方人,慎重采用 Firebird DB 编辑
他说的句子都对,他自己说的“时间 vs 重要度”
敢情这个问题的重要度很低了?
因此得出结论,他们非常忽视非英文平台的用户,所以说他“傲慢”。
2005-04-21 17:56:00 | [匿名用户:破宝]
#re: 傲慢的西方人,慎重采用 Firebird DB 编辑
影响很大也推论不出人家很傲慢吧,倒觉得你的论调很...与众不同。

你看,这个西方人已经解释了,现在很忙,有很多重要功能要实现,对于能够绕过去的,在某种程度上可以部分解决问题,暂时还腾不出手来解决。另外他还告诉你了一个软件开发中的常见的,但是却常被无论是东方人还是西方人忽视的基本道理——not everything can be fixed,而且是免费告诉你的;)

总之,一点也没看出这西方人如何傲慢了。
2005-04-21 17:52:00 | [匿名用户:rIPPER]
#re: 傲慢的西方人,慎重采用 Firebird DB 编辑
to rIPPER:
你没觉得那个bug对我们影响很大吗?

比如,中文系统的桌面目录就叫“桌面”,这就不能把程序在桌面上跑,
这个可能性还不算大;
另外,Windows允许用户用中文作用户名,那他的个人目录
C:\Documents and Settings\张三\....
也少不了有中文。使用 Embeded 数据库存储数据,
如果考虑 Windows 用户之间数据隔离、相对保密的话,
一般会往个人目录里面放,这时也会出问题。

我觉得这是个很严重的bug。

另外,我不懂C那套东西(它还像是用C写的),应该改不了。
2005-04-21 17:18:00 | [匿名用户:破宝]
#re: 傲慢的西方人,慎重采用 Firebird DB 编辑
這種東西很大方面都是用來學習,沒有成功的案例,誰敢冒這種風險
2005-04-21 17:14:00 | [匿名用户:Bill]
#re: 傲慢的西方人,慎重采用 Firebird DB 编辑
没看出来人家怎么傲慢了。
你这么喜欢Firebird,不如帮他们实现这个功能吧;)
2005-04-21 17:12:00 | [匿名用户:rIPPER]
对不起,目前本随笔不允许发表新评论.

Powered by: Joycode MVC Blogger System