此:
<%= link_to "My Trademark &153;", trade_mark_path %>
生成
当我需要它时:My Trademark™
无论如何在URL帮助器中使用ASCII代码?我总是可以手动生成链接,但这真的很难看。
答案 0 :(得分:4)
正如Phrogz所说,理想的前进方式是在源代码中包含原始™
字符,确保将其保存为正确的编码。
如果由于平台或文本编辑器的限制而无法执行此操作,请使用字符串文字转义\u
而不是HTML编码来直接获取所需字符:
<%= link_to "My Trademark\u2122", trade_mark_path %>
商标字符为U + 2122或十进制8482. 153是Windows代码页1252(西欧)中的字节编码,因此字符引用™
不起作用。实际上,由于传统的浏览器行为拙劣(在HTML5中标准化),它在非XML HTML方言中有所作为,但你不应该依赖它。
答案 1 :(得分:3)
最简单的答案不是使用HTML实体,而是使用具有文字Unicode字符的Unicode源代码文件,例如:实际上放了:
<%= link_to "My Trademark™", trade_mark_path %>
在你看来。但是,如果必须,您可以这样做:
<%= link_to("My Trademark™", trade_mark_path).html_safe %>
禁用Rails的自动HTML转义。
请注意,对于ASCII值128-255使用十进制实体&#...;
是一个坏主意,因为这些通常依赖于非标准的代码页,除非您某些发送的是匹配的HTML的正确编码。作为you can see,商标符号的Unicode值实际上是™
。
答案 2 :(得分:3)
您可以使用raw
方法并写:
<%= link_to raw("My Trademark &153;"), trade_mark_path %>
http://apidock.com/rails/ActionView/Helpers/OutputSafetyHelper/raw