在我的ramaze app上显示£符号时,我收到“不兼容的字符编码:CP850和UTF-8”

在我的ramaze应用程序上显示£符号时,我收到“不兼容的字符编码:CP850和UTF-8”。 我怎样才能摆脱这个错误? 我的head标签中有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的外部数据。

Windows问题? 尝试使用Iconv:

Iconv.conv('utf-8', "WINDOWS-1253", X)