如果你需要在以下情况下使用gb2312,或者gbk编码,可以试下这个办法。也许可行。
1.rhtml,rb文件编码格式非utf8,采用gb2312,gbk编码
2.在ruby代码中需要输入中文字符串,并且某些特殊字会导致代码无法被正常解析。
3.数据库采用gb2312,或gbk编码
以上的情况下,最大的问题就是某些特殊中文字符,会使得代码解析出错。
[size=18][color=red]警告,这样的方式未经过大规模验证, 对于rails的其他部分的影响未知。请谨慎采用.[/color][/size]
解决方法
找到 C:\ruby\lib\ruby\1.8\xsd\charset.rb文件
找到下面的代码
[code] CharsetMap = {
'NONE' => 'us-ascii',
'EUC' => 'euc-jp',
'SJIS' => 'shift_jis',
'UTF8' => 'utf-8',
'X_ISO_8859_1' => 'iso-8859-1',
'X_UNKNOWN' => nil,
}
[/code]
修改为
[code] CharsetMap = {
'NONE' => 'gb2312',
'EUC' => 'euc-jp',
'SJIS' => 'shift_jis',
'UTF8' => 'utf-8',
'X_ISO_8859_1' => 'iso-8859-1',
'X_UNKNOWN' => nil,
}
[/code]
'NONE' => 'gb2312', [color=red]<----修改这里[/color]
保存文件。
确保你的系统的当前编码设置也是gb2312.
修改你的工程的编码格式
[code]$KCODE='n'[/code]
重新启动你的工程,这下会引起错误的特殊中文字符,就不会出现错误了.
1.rhtml,rb文件编码格式非utf8,采用gb2312,gbk编码
2.在ruby代码中需要输入中文字符串,并且某些特殊字会导致代码无法被正常解析。
3.数据库采用gb2312,或gbk编码
以上的情况下,最大的问题就是某些特殊中文字符,会使得代码解析出错。
[size=18][color=red]警告,这样的方式未经过大规模验证, 对于rails的其他部分的影响未知。请谨慎采用.[/color][/size]
解决方法
找到 C:\ruby\lib\ruby\1.8\xsd\charset.rb文件
找到下面的代码
[code] CharsetMap = {
'NONE' => 'us-ascii',
'EUC' => 'euc-jp',
'SJIS' => 'shift_jis',
'UTF8' => 'utf-8',
'X_ISO_8859_1' => 'iso-8859-1',
'X_UNKNOWN' => nil,
}
[/code]
修改为
[code] CharsetMap = {
'NONE' => 'gb2312',
'EUC' => 'euc-jp',
'SJIS' => 'shift_jis',
'UTF8' => 'utf-8',
'X_ISO_8859_1' => 'iso-8859-1',
'X_UNKNOWN' => nil,
}
[/code]
'NONE' => 'gb2312', [color=red]<----修改这里[/color]
保存文件。
确保你的系统的当前编码设置也是gb2312.
修改你的工程的编码格式
[code]$KCODE='n'[/code]
重新启动你的工程,这下会引起错误的特殊中文字符,就不会出现错误了.