£
在我的 ramaze 应用程序上显示符号时,我收到“不兼容的字符编码:CP850 和 UTF-8” 。我怎样才能摆脱这个错误?我的头标签中有 UTF-8 元标签。
当我£
用键盘输入符号时会发生这种情况。看。
我已将以下代码放入我的 ruby 文件中,但并没有解决问题。
# encoding: UTF-8
Encoding.default_external = 'utf-8'
Encoding.default_internal = Encoding::UTF_8
尝试强制编码以查看这是否会使问题消失:
your_string.force_encoding(::Encoding::UTF_8)
如果是这样,请深入您的应用程序并找出设置错误编码的原因、位置和原因。
它可能与服务器/网页相关,因为在您提供的页面中,由于标题而呈现为 US-ASCII。或者服务器以 UTF-8 以外的编码启动。或其他类似的效果。您的脚本最终会得到一段不是 UTF-8 的外部数据。
窗户问题?尝试使用 Iconv:
Iconv.conv('utf-8', "WINDOWS-1253", X)
您必须将文本从 UTF-8 转换为另一种编码,然后再转换回 UTF-8。
content = content.force_encoding("ISO-8859-1").encode("utf-8", replace: nil)
更新:这个答案对我不起作用,但它可能会对你有所帮助。