"ò" 换句话说,将像 ò 这样的重音字符转换成他的 HTML 版本:ò 我试过这样的: # c-6ren">
gpt4 book ai didi

ruby - 如何在 HTML 特殊实体中使用 Ruby 重音字符进行转换

转载 作者:数据小太阳 更新时间:2023-10-29 06:58:05 26 4
gpt4 key购买 nike

我如何在 Ruby 上执行此操作?

puts some_method("ò")
# => "ò"

换句话说,将像 ò 这样的重音字符转换成他的 HTML 版本:ò

我试过这样的:

# coding: utf-8
require 'rubygems'
require 'htmlentities'
require 'unicode'

coder = HTMLEntities.new
string = "Scròfina"
puts coder.encode(string, :named)

但我得到的是这个(来自:http://htmlentities.rubyforge.org/):

/Library/Ruby/Gems/1.8/gems/htmlentities-4.2.0/lib/htmlentities/encoder.rb:85:in `unpack': malformed UTF-8 character (expected 2 bytes, given 1 bytes) (ArgumentError)
from /Library/Ruby/Gems/1.8/gems/htmlentities-4.2.0/lib/htmlentities/encoder.rb:85:in `encode_decimal'
from (eval):2:in `encode_extended'
from /Library/Ruby/Gems/1.8/gems/htmlentities-4.2.0/lib/htmlentities/encoder.rb:18:in `encode'
from /Library/Ruby/Gems/1.8/gems/htmlentities-4.2.0/lib/htmlentities/encoder.rb:18:in `gsub!'
from /Library/Ruby/Gems/1.8/gems/htmlentities-4.2.0/lib/htmlentities/encoder.rb:18:in `encode'
from /Library/Ruby/Gems/1.8/gems/htmlentities-4.2.0/lib/htmlentities.rb:74:in `encode'
from unicode_pleasure.rb:8

感谢您的宝贵时间!

  • 莱昂纳多

最佳答案

我已明确设置 $KCODE 以使您的示例工作。另外,请确保您的源文件实际编码为 UTF-8!

# coding: utf-8
require 'rubygems'
require 'htmlentities'
require 'unicode'
$KCODE = 'UTF-8'
coder = HTMLEntities.new
string = "Scròfina"
puts coder.encode(string, :named)

关于ruby - 如何在 HTML 特殊实体中使用 Ruby 重音字符进行转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1649825/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com