首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不兼容字符编码: UTF-8和ASCII-8位在呈现操作中

不兼容字符编码: UTF-8和ASCII-8位在呈现操作中
EN

Stack Overflow用户
提问于 2015-04-23 08:54:25
回答 2查看 10.7K关注 0票数 0

ActionView::Template::Error (不兼容字符编码: UTF-8和ASCII-8位):app/控制器/posts_控制员.in:27:in‘`new’

代码语言:javascript
复制
  # GET /posts/new
  def new
    if params[:post]
      @post = Post.new(post_params).dup
      if @post.valid?
        render :action => "confirm"
      else
        format.html { render action: 'new' }
        format.json { render json: @post.errors, status: :unprocessable_entity }
      end
    else
      @post = Post.new
      @document = Document.new
      @documents = @post.documents.all
      @document = @post.documents.build
    end

我不知道为什么会这样。

EN

回答 2

Stack Overflow用户

发布于 2015-04-23 09:40:06

  • 确保application.rb文件中有config.encoding = "utf-8"
  • 确保您使用的是'mysql2' gem而不是mysql gem
  • # encoding: utf-8放在rake文件的顶部。
  • environment.rb文件中的Rails.application.initialize!行上方,添加以下两行: Encoding.default_external = Encoding::UTF_8 Encoding.default_internal = Encoding::UTF_8

解决方案:http://rorguide.blogspot.in/2011/06/incompatible-character-encodings-ascii.html

如果上面的解决方案没有帮助,那么我认为您要么将Haml模板的一部分复制/粘贴到文件中,要么使用非Unicode/non 8友好编辑器。

如果您可以在一个UTF-8友好编辑器中从头开始重新创建该文件。有足够的任何平台,看看这是否解决了你的问题。

有时您可能会遇到这样的错误:

不兼容字符编码:ASCII-8位和UTF-8

这通常是因为您试图连接两个字符串,其中一个字符串包含不映射到另一个字符串的字符集的字符。ISO-8859-1中有些字符在UTF-8中没有对应的字符,反之亦然,以及如何处理与这些不兼容的字符串连接要求程序员介入。

票数 0
EN

Stack Overflow用户

发布于 2017-01-10 13:29:15

我正在升级我的rails和spree,这个错误实际上是来自缓存。

删除缓存为我解决了问题。

代码语言:javascript
复制
rm -rf tmp/cache
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29818411

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档