其他 Redmine 的编码问题

wilask · 2015年01月08日 · 最后由 snowy 回复于 2015年06月30日 · 4853 次阅读

部署完 Redmine 后,新建中文的用户,提示 500 错误

日志:

ActionView::Template::Error (incompatible character encodings: UTF-8 and ASCII-8BIT):
    6: <fieldset class="box tabular">
    7:   <legend><%=l(:label_information_plural)%></legend>
    8:   <p><%= f.text_field :login, :required => true, :size => 25  %></p>
    9:   <p><%= f.text_field :firstname, :required => true %></p>
    10:   <p><%= f.text_field :lastname, :required => true %></p>
    11:   <p><%= f.text_field :mail, :required => true %></p>
    12:   <% unless @user.force_default_language? %>
  lib/redmine/views/labelled_form_builder.rb:31:in `text_field'
  app/views/users/_form.html.erb:9:in `_app_views_users__form_html_erb___1339523949848742532_70169066250380'
  app/views/users/_general.html.erb:2:in `block in _app_views_users__general_html_erb__1484988381539933793_58512080'
  app/helpers/application_helper.rb:1056:in `labelled_form_for'
  app/views/users/_general.html.erb:1:in `_app_views_users__general_html_erb__1484988381539933793_58512080'
  app/views/common/_tabs.html.erb:22:in `block in _app_views_common__tabs_html_erb__1558437477300092939_57895140'
  app/views/common/_tabs.html.erb:21:in `each'
  app/views/common/_tabs.html.erb:21:in `_app_views_common__tabs_html_erb__1558437477300092939_57895140'
  app/helpers/application_helper.rb:328:in `render_tabs'
  app/views/users/edit.html.erb:9:in `_app_views_users_edit_html_erb__748188076281410297_58219660'

环境: Ubuntu14.04 Redmine2.6.0 Ruby2.0.0 Mysql5.5.40

网上的方法试过一些,但不能解决问题。听说是要用 Ruby1.8 的版本。

是不是数据库编码问题?改成 utf-8 编码试试

#1 楼 @alucardpj 数据库创建的时候就是 utf-8 了 CREATE DATABASE redmine CHARACTER SET utf8;

#2 楼 @wilask 我遇到过这个问题,这是我上一个问题的帖子,希望可以帮助到你 https://ruby-china.org/topics/23280 可以解决,但是访问速度非常慢,感觉是因为每次都要重新解码编码。

尝试用 rails 的命令行重新创建数据库。

rake db:drop RAILS_ENV=production
rake db:migrate RAILS_ENV=production

#3 楼 @joke1943 好的,谢谢你

#3 楼 @joke1943 这个方法可以解决问题,就像你说的一样。访问速度太慢了。所以还是没有解决到根本的问题。

postgresql

登录名英文,名字中文,没什么问题

#6 楼 @wilask 通过这段代码找到问题原因,adapter 使用 mysql,从数据库读出来的数据如果有中文,编码会有问题。所以 adapter 最好还是要 mysql2,我这里是实在安装不上。

#7 楼 @oth 用 mysql2 就可以了

你好,我也出现了类似编码的问题,求解。。。 环境: 虚拟机 win7,64 位系统。 redmine 是 bitnami 一键安装包 3.0 版本。 下载时语言选的英文,进入平台后,更改用户语言为中文。


下面是出现的情况及问题: 项目中新建问题,添加附件,上传文件成功后,用户点击文件名下载,报错跳转页面错误代码 500, 如果上传时将文件编码更改为 utf-8 就可以下载,不会报错。 或者将文件名更改为纯字母或者数字也可以下载。 文件名中含两个汉字以上,就会出错。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号