犬者
“说了你又不听,听又不懂,懂又不做,做又做错,错又不认,认又不改,改又不服,不服也不说,那叫我怎么办?!”

【电脑】Ruby on Rails真痛苦

上次说“重新开始学习Ruby on Rails”其实只是讲了个开始……

距离舒服的Mac上使用Rails链接PC上的MS SQL做开发还有十万八千里……

紧接上文,偶终于发现Rails的Active Record无法正常工作其实是PC这边MS SQL的问题……

很奇怪的问题其实……但,解决方法却可以很简单……重装MS SQL就是……呃……考虑到服务器上已经使用MS SQL Server 2005……自然没有理由重装回2000的版本……下载、折腾了N个小时,算是把残废的2000卸载了,新装上了2005……

嗯……不错……Rails终于“正常”了……

 好吧……下个挑战……中文……

果然没有奇迹……UTF8的中文全部变成了乱码……

是哪里出现问题呢?Ruby ODBC?Rails?FreeTDS?

Ruby ODBC的嫌疑最大……因为,它的网站上其实还有提供一个utf8的版本……只是,老外的教程里根本就没有提到utf8跟ASNI的区别……幸福的老外,一辈子只需要跟26个字母打交道……

尝试编译、安装、配置utf8的版本……

完全是徒劳的……编译貌似失败、安装貌似成功、完全不知如何配置……

好吧……反正是搞不定Ruby ODBC了……看看FreeTDS吧……至少,先看看在Terminal里执行sql会不会出乱码……

果然没有奇迹……不仅乱码乱得一塌糊涂……还有奇怪的错误如:
 [FreeTDS][SQL Server]The incoming tabular data stream (TDS) remote procedure call (RPC) protocol stream is incorrect. Parameter 4 (""): Data type 0x38 is unknown. (SQL State: 00000; SQL Code: 8009)

谷歌了一下……倒是第一个结果便给出了正解:SQL Server 2005貌似调整了TDS 8.0,解决方法是把TDS版本设置到7.0。

真是无语……MS SQL Server 2000用8.0相安无事,Server升级到2005(TDS 9.0)后,Client倒居然要降到7.0才能正常……

降就降吧……反正只是自己开发测试玩……

乱码依旧……出现如下错误:
Some character(s) could not be converted into client's character set. Unconverted bytes were changed to question marks ('?').

嗯?貌似找到乱码根源了耶~TDS Client的character set没有设对~修改FreeTDS.conf文件……指定TDS版本为7.0……Client Charset为UTF-8……

是的……是UTF-8,不是utf-8!也不是cp65001……

慢~为什么还有乱码?偶Terminal使用的字体、编码又没有设对?是不是UTF-8? 是不是有中文字体?

这是痛苦trail & error屡错屡试的成果……

然后……还需要修改Rails的config/environment.rb,设置编码为UTF-8……还要给ApplicationController加上:
  before_filter :set_charset  def set_charset
  @headers["Content-Type"] = "text/html; charset=UTF-8"
  end

的语句…… 

然后……貌似UTF8中文终于可以正常使用了……

貌似而已……还需要修改SQL Server的兼容等级为7.0……保持与FreeTDS的client一致……

然后……好像……真的是好了……

很无语……兼容等级设为7.0后……数据库关系图等东西全部用不了了……

Ruby on rails……MS SQL Server 2005……OSX 10.4.6……这些大概都是所谓的State of the art……放在一起后……唉……

Well……我只是开发而已……这只是development的环境……deployment的环境不是这样的……没有FreeTDS……没有Ruby ODBC……

取而代之的是64位的Nocona CPU……64位的MS  SQL Server 2005……我假设并祈祷它们真的可以完全兼容32位……然后……还有Ruby DRI的ADO……Win32 OLE……

我不知道这是否意味着偶需要再重复一遍这个痛苦的过程……

上面说的每一个步骤都是反复探索测试得出来的……说出来,也就是一句话……但是,当你不知道这么句话的时候……

 


生命就是这么被浪费的……

 

都是折腾些没有意义的事情……得到的所谓经验,其实根本没有任何价值……期间用到的所有东西,只要随便有一个升级了……这些经验便可能完全作废……

若全部采用微软的技术……Windows + IIS + ASP.Net + MS SQL……便完全不会有这些奇奇怪怪的问题……

我何必呢?

Windows 2003 R2 + ASP.Net 2.0 + Atlas + MS SQL 2005不好么?

为什么要用mac?为什么要用Ruby?为什么要用Rails?为什么用了之后还一定要留一个MS SQL?转到MySQL/PostgreSQL不好么?

我不知道……我……其实很迷茫…… 

30741|FreeTDS|rails|编码|开源
问天 @4/25/2006 6:25:32 AM
View blogs in this category:电脑


山清居士 在 5/26/2008 3:49:40 PM 说:

你经受的不过是所有程序员必经的痛苦之一,哈哈!不过本人折腾了些时日后,倒是可以在freeBSD上和WIndows2003上都正常使用ROR,数据库可以用Sqlite呀。windows2003上最好是用MS的FCGI,不然,嘻嘻,cpu资源100%
丽丽 在 5/21/2008 2:56:29 PM 说:

必须得撞svn + mysql 吗??
rubyoo 在 8/28/2007 10:04:39 AM 说:

呵呵,数据库我一直用mysql.先前一直用php
无镇痛过度到ror,所以没有遇到你这样的折腾经历,呵呵
PS 在 10/25/2006 9:38:45 AM 说:

以前经常通宵TEST PROGRAM AND FAIL
Wuvist 在 8/22/2006 10:17:39 PM 说:

谢谢楼下的……
ODBTP看上去的确不错……不过,我已经狠狠抛弃Rails投奔Django的怀抱咯……
Joseph 在 8/22/2006 10:03:04 PM 说:

從 Windows 以外的平台連接 SQL Server 請參考 http://w3.im.knu.edu.tw/~blog/index.php?op=ViewArticle&articleId=27&blogId=1
雖然這篇文章的內容說的是 PHP 但是對 Ruby 可能也有效
开始迷上python的Wuvist 在 5/15/2006 3:51:41 PM 说:

恩~谢谢楼下的……RadRails在偶电脑(iMac G5)里有问题……
但是,偶既然用Mac,没有理由不用textmate呀……hoho……
偶是幸福的Mac user~
Milo 在 5/15/2006 3:17:39 PM 说:

如果用utf-8编码的话,推荐用RadRails试试(最好时eclipse插件的形式),我用了后编码的问题就没有了。
不过我用的是mysql5……
琴韵 在 4/25/2006 2:13:51 PM 说:

呵呵,高手才有高手独特的麻烦。像我,只学了ERP还有C就感觉头疼了。
angelbsk 在 4/25/2006 12:13:55 PM 说:

生命在于折腾
说起来也很少有什么真正不会作废的经验
可能作废的经验还是有值得获取的价值的
Wuvist 在 4/25/2006 12:03:33 PM 说:

本来是在看经济的……
一不小心手痒了就又无休止的折腾起来……
oldcat 在 4/25/2006 10:47:16 AM 说:

看来通宵again

Please leave your comment here

 
  名字:
  主页:
  内容:
 

   


Navigation
Blogwind
犬者首页
Contact


个人档案


“说了你又不听,听又不懂,懂又不做,做又做错,错又不认,认又不改,改又不服,不服也不说,那叫我怎么办?!”



Categories
死结(27)
电脑(177)
心情(181)
天影(25)
乱弹(211)
博客(82)
音乐(18)
饕餮(30)
读书(20)
电影(28)
网摘(5)
希望(37)
汕头(10)
经济(8)
苹果(19)
跋涉(7)



Archive
2008年11月
2008年10月
2008年9月
2008年8月
2008年7月
2008年6月
2008年5月
2008年4月
2008年3月
2008年2月
2008年1月
2007年12月
2007年11月
2007年10月
2007年9月
2007年8月
2007年7月
2007年6月
2007年5月
2007年4月
2007年3月
2007年2月
2007年1月
2006年12月
2006年11月
2006年10月
2006年9月
2006年8月
2006年7月
2006年6月
2006年5月
2006年4月
2006年3月
2006年2月
2006年1月
2005年12月
2005年11月
2005年10月
2005年9月
2005年8月
2005年7月
2005年6月
2005年5月
2005年4月
2005年3月
2005年2月
2005年1月
2004年12月
2004年11月
2004年10月
2004年9月
2004年8月
2004年7月
2004年6月
2004年5月
2004年4月
2004年3月
2004年2月
2004年1月
2003年12月



My Links
5G
bloglines
时尚摄影师奇科的博客
颜如玉
最爱卫斯理

RSS 2.0

Username:
Password:
 Remember me