在我的Ruby / Rack应用程序中,我在ruby代码和HTML视图中使用中文和日文的静态字符。当我运行我的应用程序时,我得到一个例外:
Encoding::InvalidByteSequenceError at /
/my_app/index.html.erb is not valid US-ASCII
它仅在生产服务器上发生,在本地发生 - 而不是。 我的本地机器 - Linux,远程服务器 - FreeBSD。
我尝试过“使用编码保存 - > utf-8”,但它没有帮助。
我没有在ruby代码中使用编码/解码功能 - 这些字符只是静态嵌入我的文件中。
答案 0 :(得分:0)
这可能是String输入编码的问题。例如,您通过params
收到的字符串。
我必须通过以下方式强制执行UTF-8编码:
"Some String".force_encoding("UTF-8")
停止了错误消息。