发现换了ruby1.9.2和MYSQL以后,原来好好的程序都出现乱码了,折腾了好久原来是ruby 1.9字符串不兼容编码的问题。
用了lllyq的方法后成功解决问题,在application控制器加一个过滤器,强制转换成UTF8
before_filter :force_utf8
def force_utf8
if RUBY_VERSION > '1.9'
Encoding.default_external = Encoding::UTF_8
Fixnum.class_eval do
alias_method : old_to_s, :to_s
def to_s
old_to_s.force_encoding("UTF-8")
end
end
Array.class_eval do
alias_method : old_pack, :pack
def pack(*args)
old_pack(*args).force_encoding("UTF-8")
end
end
end
end
--这样做有个问题,就是执行很慢,目前还没找到更好的方法,不得以切回使用sqlite3数据库
分享到:
相关推荐
- 在配置过程中,选择合适的字符集非常重要,特别是如果需要迁移数据,确保与原有数据库的编码匹配,以避免数据导入时的乱码问题。 以上是MySQL安装和配置的基本步骤。正确地完成这些步骤将确保MySQL服务能够顺利...
### PHP中文乱码解决方案 ... **1.... ... - **使用GB2312编码** ...具体操作方式是使用文本编辑器(如记事本)打开文件,通过“另存为”选项将文件...遵循这些步骤可以有效避免中文乱码问题,确保应用程序能够正确处理中文字符。
选择的字符集必须与原有数据库的数据编码相匹配,否则可能导致导入数据时出现乱码问题。 总之,安装MySQL 5.1需要考虑服务器类型、用途、并发连接数、网络配置以及字符集等多个因素,确保数据库的稳定性和安全性。...
- 在配置过程中,应确保选择与原有数据库相同的字符集,以防止数据导入时出现乱码问题。 总结,MySQL 5.1的安装和配置是一个关键步骤,涉及到选择安装类型、定制安装路径、配置服务器类型、数据库用途、存储引擎、...
根据实际需求选择服务器类型(开发服务器、普通Web服务器或专用MySQL服务器),数据用途(多功能、仅事务处理或简单网络开发),InnoDB数据存储位置(默认即可),最大并发连接数(通常选择20个),以及是否启用网络...
注意:静态编译后的易语言EXE和DLL之间不能再共享“某些”句柄或资源,这一点和原动态连接时的程序行为不能保持一致,使用时请务必设法避免此类用法(MYSQL支持库我们作了特别处理)。 注意:静态编译后常量数据...
在织梦系统中,安装并启用该插件后,一旦管理员在一个设备上登录,其他设备上的会话将自动失效,从而防止了未授权的访问。这不仅增强了安全性,也简化了管理流程,降低了由于多设备登录可能带来的风险。 该插件支持...
在导入完成后,记得重新启用自增长属性,恢复其原有的功能。 2. **数据导出与导入的格式**: 数据导出和导入时,选择正确的文本格式至关重要。文本格式如CSV(逗号分隔值)或TSV(制表符分隔值)允许在不同的系统...