带有中文字符的ruby / rack Web应用程序中的InvalidByteSequenceError

时间:2017-10-10 14:53:46

标签: ruby character-encoding rack

在我的Ruby / Rack应用程序中,我在ruby代码和HTML视图中使用中文和日文的静态字符。当我运行我的应用程序时,我得到一个例外:

Encoding::InvalidByteSequenceError at /
/my_app/index.html.erb is not valid US-ASCII

它仅在生产服务器上发生,在本地发生 - 而不是。 我的本地机器 - Linux,远程服务器 - FreeBSD。

我尝试过“使用编码保存 - > utf-8”,但它没有帮助。

我没有在ruby代码中使用编码/解码功能 - 这些字符只是静态嵌入我的文件中。

1 个答案:

答案 0 :(得分:0)

这可能是String输入编码的问题。例如,您通过params收到的字符串。

我必须通过以下方式强制执行UTF-8编码:

"Some String".force_encoding("UTF-8")

停止了错误消息。