此代码以纯文本或html格式提取内容,并在页面上显示。
我的控制器中包含字段post_id
content
POSTS到edit_post
的HTML表单。我使用的是Sequel ORM和Ramaze。
def edit_post
Encoding.default_external = 'utf-8'
data = request.subset(:content, :post_id)
shake = Post[data['post_id']]
data.delete('post_id');
shake.update(data); shake.save
end
数据['内容']内的唯一符号是%
,
.
'
和"
所需的行为是通过表单提交的POST数据更新数据库中的行。 This is the string我试图发帖。它包含此行,包含2%的符号(%
):
A scientific study showed that men want more sex partners than women, in every country. Only 2% of lesbians have had over 1000 sexual partners, but 28% of gays have had over 1000.
表格行需要"内容"和" post_id"列。
看起来%
符号用于更新数据库存在问题。我相信默认编码是CP850。如何更改我的Ramaze应用程序以停止使用CP850并改为使用UTF-8?
我在model/init.rb
Sequel::Model.plugin :force_encoding, 'UTF-8'
Encoding.default_external = 'utf-8'