【问题标题】:UTF8 String With Accents In OpalOpal 中带重音的 UTF8 字符串
【发布时间】:2017-08-14 09:26:34
【问题描述】:

我正在尝试在 Opal 中使用带有重音符号的 UTF8 字符串。

Ruby 代码:

test = "Français"
puts test
$document['#test'].inner_html = test

编译好的 JavaScript:

test = "Fran\xC3\xA7ais";
self.$puts(test);
return (($a = [test]), $b = $gvars.document['$[]']("#test"), $b['$inner_html='].apply($b, $a), $a[$a.length-1]);

#test 和浏览器控制台显示:

法语

如果我手动编辑编译后的 JavaScript,将 "Fran\xC3\xA7ais" 替换为 "Français"

#test 和浏览器控制台显示:

法语

我做错了什么?

有没有办法告诉 Opal 将 UTF8 字符串原封不动地传递给 JavaScript?

谢谢

【问题讨论】:

  • 您使用哪个版本的 Ruby?如果是1.x,尝试在源文件开头添加# Encoding: utf-8

标签: javascript ruby utf-8 opalrb accent-sensitive


【解决方案1】:

UTF8 与 Opal 一起使用的一件重要事情是让整个页面在其自己的编码中被正确识别为 UTF8。

这可以通过元标记轻松完成:

<meta charset="utf-8">

【讨论】:

  • 我的 html 页面的 head 部分有一个 ,utf-8 显示正常,但是如何处理 JavaScript 字符串文字“Fran\xC3 \xA7ais" 由 Opal 编译器生成?参考这里:jsfiddle.net/ohogorpL.
  • (抱歉耽搁了)尝试使用 opal v0.11,它在每个级别上都更好,很有可能已修复/改进
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-05-14
  • 2015-04-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-05
相关资源
最近更新 更多