Tag: utf 8

Rails:如何向包含变音符号的收件人发送电子邮件?

我想发送一封包含以下设置的电子邮件 def registration_confirmation(user) recipients user.username + “” from “Netzwerk Muensterland” subject “Vielen Dank für Ihre Registrierung” body :user => user content_type “text/html” end 主题行包含变音符号并且工作正常。 日志说我,它编码如下: =?utf-8?Q?Vielen_Dank_f=C3=BCr_Ihre_Registrierung?= 但是,如果user.username包含变音符号,则电子邮件将不会发送。 我正在使用谷歌应用程序smtp服务器。 如何为收件人完成这样的编码?

如何在Ruby中将字符引用转换为UTF-8字符串?

我有一些来自Feed的内容。 在这些提要中,UTF-8字符通常被编码为字符引用,即“å”是“å”。 为了避免在我的视图中对它们进行双重编码(即“å”),我想将它们转换回正常的UTF_8字符​​。 我怎么能在Ruby中做到这一点? 我想要: “å”。convert_to_utf8 =>“å”

Ruby和MySQL的UTF-8字符

我正在将Sinatra应用程序从SQLite3切换到MySQL。 出于某些原因,我无法理解,当我使用Ruby和Sequel从MySQL中提取数据时,字符以8-BIT ASCII而不是UTF-8出现。 部署环境是FreeBSD 9.1和MySQL 5.6.12,从FreeBSD端口安装了系统范围的ruby19。 RVM ruby​​-2.0p247产生相同的结果。 我的my.cnf如下: # The following options will be passed to all MySQL clients [client] default-character-set=utf8 #password = your_password port = 3306 socket = /tmp/mysql.sock # Here follows entries for some specific programs # The MySQL server [mysqld] port = 3306 socket = /tmp/mysql.sock skip-external-locking key_buffer_size = 128M max_allowed_packet […]

现在有哪些选项可以在Ruby和RoR中实现UTF8?

在密切关注Ruby的开发之后,我了解到在Ruby 1.9中实现了详细的字符编码。 我现在的问题是:如何使用Ruby来与存储UTF8中所有数据的数据库进行通信? 背景:我参与了一个新项目,其中Ruby / RoR至少是一个选项。 但该项目需要依赖于国际化的字符集(它遍布许多国家),最好是UTF8。 那你怎么处理那个? 提前致谢。

处理不兼容的字符编码:UTF-8和ASCII-8BIT

我在生产中遇到不兼容的字符编码错误。 我尝试在本地重现它,但没有运气。 这是错误消息: A ActionView::Template::Error occurred in controller_name#action_name: incompatible character encodings: UTF-8 and ASCII-8BIT activesupport (3.0.5) lib/active_support/core_ext/string/output_safety.rb:80:in `concat’ config.encoding已在application.rb中设置为“utf-8”。 让我感到困惑的是,这个问题在乘客重启后只持续了一段时间,并在一段时间后消失。 进一步调试exception回溯给了我这个: activesupport (3.0.5) lib/active_support/core_ext/string/output_safety.rb:80:in `concat’ activesupport (3.0.5) lib/active_support/core_ext/string/output_safety.rb:80:in `concat’ actionpack (3.0.5) lib/action_view/template/handlers/erb.rb:14:in `<<' app/views/web/controller_name/action_name.erb:98 Line 98: <a href="https://stackoverflow.com/questions/20075740/dealing-with-incompatible-character-encodings-utf-8-and-ascii-8bit/” id=”xyz”> 在“ ActionView :: Template :: Error(不兼容的字符编码:UTF-8和ASCII-8BIT) ”中提到ActionDispatch::Request可能会导致问题,但我对一段时间后问题如何修复自己一无所知!

从python的str字节序列中获取unicode

我有一个旧的django应用程序,它在数据库中保存了UTF-8字符串,当我尝试在Ruby中获取它们时,它们看起来像无效的utf8。 保存之前的str在python中是str类型,但是当从数据库中获取时,django给了我一个合适的unicode字符串。 当我在rails中获取相同的记录时,我得到一个与python的str字符串相同的字节序列,而ruby抱怨它是一个无效的字节序列。 示例:测试过的字符串是一个表情符号:🔥 在保存在Django- str类型之前,序列: [237, 160, 189, 237, 180, 165] 从Django中的db获取 – unicode类型,序列[55357, 56613] 从Rails中的db获取 – 序列[237, 160, 189, 237, 180, 165] 有没有办法将Ruby中的字节序列转换为正确的utf8字符串?

将整数转换为UTF-8(韩文)

我正在运行Ruby 1.9.2并尝试修复一些损坏的UTF-8文本输入,其中文本实际上是”\\354\\203\\201\\355\\221\\234\\353\\252\\205″并将其更改为正确的韩语”상표명” 然而,经过一段时间的搜索和尝试一些方法,我仍然得到了胡言乱语。 令人困惑的是,第3行的转义字符示例运行正常 # encoding: utf-8 puts “상표명” # Target string # Output: “상표명” puts “\354\203\201\355\221\234\353\252\205” # Works with escaped characters like this # Output: “상표명” # Real input is a string input = “\\354\\203\\201\\355\\221\\234\\353\\252\\205” # After some manipulation got it into an array of numbers puts [354, 203,201,355,221,234,353,252,205].pack(‘U*’).force_encoding(‘UTF-8’) # Output: ŢËÉţÝêšüÍ (gibberish) 我确信这肯定已经在某个地方得到了解答,但我还没有找到它。

有没有办法选择节点的所有内容?

有没有办法选择Nokogiri中节点的所有内容? this is the content of my æøå element 获取/root/element的内容的结果应该是: this is the content of my æøå element 编辑: 似乎解决方案只是使用myElement.inner_html() 。 我遇到的问题实际上是我依赖于旧版本的libxml2,它逃脱了所有特殊字符。

Ruby 1.9 – 无效的多字节字符(utf-8)

我有一个只有这两行的ruby文件: # encoding: utf-8 puts “—” 当我用ruby test_enc.rb运行它时失败了: test_enc.rb:2: invalid multibyte char (UTF-8) test_enc.rb:2: unterminated string meets end of file 我不知道如何正确指定— (emdash)的字符代码,但是vim告诉我它是151, Hex 97, Octal 227 。 对于像ã这样的其他角色,它也会失败,所以我怀疑它与该角色有特殊关系。 我在Windows XP上运行,我使用的ruby版本是: ruby 1.9.1p430 (2010-08-16 revision 28998) [i386-mingw32] 我觉得这里有一些非常明显的东西。 有任何想法吗? 编辑:今天学到了关于假设的宝贵教训 – 特别是假设你的编辑使用UTF-8而没有实际检查它。 哎呀! 感谢所有快速准确的回复! 再次编辑: “为utf-8正确设置vim”变得太大了,并且与这个问题无关,所以它现在是一个单独的问题 。

如何在Ruby on rails上做到这一点

这是一个C#代码: byte[] pb = System.Text.Encoding.UTF8.GetBytes(policy.ToString()); // Encode those UTF-8 bytes using Base64 string policyB = Convert.ToBase64String(pb); // Sign the policy with your Secret Key using HMAC SHA-1. System.Security.Cryptography.HMACSHA1 hmac = new System.Security.Cryptography.HMACSHA1(); hmac.Key = System.Text.Encoding.UTF8.GetBytes(secretKey); byte[] signb = hmac.ComputeHash(System.Text.Encoding.UTF8.GetBytes(policyB)); string signature = Convert.ToBase64String(signb); 如何在Ruby on rails上做同样的事情? 更具体地说,我需要知道从字符串获取字节的函数,base64对它们进行编码并计算hmac散列。