Questions tagged «utf-8»

UTF-8是一种字符编码,它使用一个到四个字节的字节序列来描述每个Unicode代码点。它与ASCII向后兼容,同时仍支持所有Unicode代码点的表示。

16
如何在Ruby中替换带重音符号的拉丁字符?
我有一个ActiveRecord模型,Foo其中有一个name字段。我希望用户能够按名称搜索,但我希望搜索忽略大小写和任何重音符号。因此,我还要存储一个canonical_name要搜索的字段: class Foo validates_presence_of :name before_validate :set_canonical_name private def set_canonical_name self.canonical_name ||= canonicalize(self.name) if self.name end def canonicalize(x) x.downcase. # something here end end 我需要填写“此处的内容”以替换带重音符号的字符。有没有比这更好的了 x.downcase.gsub(/[àáâãäå]/,'a').gsub(/æ/,'ae').gsub(/ç/, 'c').gsub(/[èéêë]/,'e').... 而且,就此而言,由于我没有使用Ruby 1.9,所以无法将这些Unicode文字放入我的代码中。实际的正则表达式看起来丑陋得多。

5
UTF-16的意义是什么?
我从不了解UTF-16编码的要点。如果您需要能够将字符串视为随机访问(即代码点与代码单元相同),则您需要UTF-32,因为UTF-16的长度仍然可变。如果您不需要它,那么与UTF-8相比,UTF-16似乎是对空间的巨大浪费。与UTF-8和UTF-32相比,UTF-16有何优势?为什么Windows和Java将其用作本机编码?

3
如何使用Notepad ++将ANSI编码的文件转换为UTF-8?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Stack Overflow的主题。 7年前关闭。 改善这个问题 我有一个网站,可以在Firefox中使用jQuery发送土耳其语字符,但是Internet Explorer不发送土耳其语字符。我在记事本中查看了我的源文件,该文件的代码页是ANSI。 当我将其转换为不带BOM的UTF-8并关闭文件时,重新打开文件时该文件再次为ANSI。 如何将文件从ANSI转换为UTF-8?
72 utf-8  notepad++ 

1
为什么某些网站的标题中带有?utf8 =✓?
我注意到很多网站在搜索或浏览时都会添加一个名为get的变量utf,并将其设置为选中标记(?utf8=✓)。 两个示例是: Dotabuff的搜索URL包括它。示例:dotabuff.com/search?utf8 =✓&q = PPD Bibme也有它的搜索URL。示例:bibme.org/mla/website-citation/search?utf8 =✓&q = someurl.com
70 url  unicode  utf-8  hyperlink 

22
带有UTF-8(或至少是德国变音符号)的Latex列表
试图使用清单包将源文件包含到我的乳胶文档中,我在代码中的注释中遇到了德国变音符号的问题。使用 \lstset{ extendedchars=\true, inputencoding=utf8x } 处理了源文件中的Umlauts(以UTF-8编码,不带BOM),但是它们以某种方式移到了所包含单词的开头。 // die Größe muss berücksichtigt werden 在输入源文件中,变为 // die ößGre muss übercksichtigt werden 在输出文件中。 注意:由于我在初始设置中发现错误,因此我大量编辑了此问题

6
不正确的字符串值:'\ xF0 \ x9F \ x8E \ xB6 \ xF0 \ x9F…'MySQL
我正在尝试在我的MYSQL表中存储一条推文。的鸣叫是: quiero que me escuches,no te burles no te rias,anoche tuve unsueñoque te fuiste de mi vida🎶🎶 最后两个字符均为'MULTIPLE MUSICAL NOTES'(U + 1F3B6),其UTF-8编码为0xf09f8eb6。 tweet_text我表格中的字段编码为utf8mb4。但是,当我尝试在该列中存储推文时,出现以下错误消息: 字符串值不正确:第1行的'tweet_text'列的'\ xF0 \ x9F \ x8E \ xB6 \ xF0 \ x9F ...' 怎么了?我怎样才能解决这个问题?我还需要存储多种语言,并且该字符集适用于所有语言,但不适用于表情符号和表情符号等特殊字符。 这是我的创建表语句: CREATE TABLE `twitter_status_data` ( `unique_status_id` bigint(20) NOT NULL AUTO_INCREMENT, `metadata_result_type` text CHARACTER …

3
不建议使用的标头<codecvt>替换
有点前景:我的任务需要将UTF-8 XML文件转换为UTF-16(当然具有正确的标头)。因此,我搜索了将UTF-8转换为UTF-16的常用方法,发现应该使用中的模板&lt;codecvt&gt;。 但是,现在不赞成使用它,我想知道执行相同任务的新通用方法是什么? (完全不介意使用Boost,但除此之外,我更喜欢尽可能接近标准库。)
69 c++  utf-8  c++17  utf-16  codecvt 

6
如何检查文件是否为有效的UTF-8?
我正在处理一些本应为有效UTF-8但不是的数据文件,这导致解析器(不在我的控制之下)失败。我想添加一个阶段,以对UTF-8格式正确的数据进行预验证,但是我还没有找到可以帮助完成此操作的实用程序。 W3C上有一个Web服务似乎已失效,并且我发现了一个仅Windows的验证工具,该工具报告无效的UTF-8文件,但未报告要修复的行/字符。 我对可以插入并使用的工具(最好是跨平台)或可以将其作为数据加载过程一部分的ruby / perl脚本感到满意。

8
从Rails 3表单提交中删除“ utf8 =✓”
我在Rails 3应用程序中有一个简单的搜索表单: &lt;%= form_tag search_path, :method =&gt; "get" do %&gt; &lt;%= text_field_tag :q, params[:q] %&gt; &lt;%= submit_tag "search", :name =&gt; nil %&gt; &lt;% end %&gt; 当用户单击“提交”按钮时,他们将进入URL:http%E2%9C%93 ://myapp.com/search?utf8=%E2%9C%93&amp;q = foob​​ar (其中显示为复选标记:✓)。 我对该utf8参数不做任何事情,因此我想通过完全删除URL来保持URL干净。也就是说,我希望用户使用该URL:http://myapp.com/search?q = foob​​ar。 我该怎么做呢?

5
SQLite,python,unicode和非utf数据
我首先尝试使用python将字符串存储在sqlite中,并得到以下消息: sqlite3.ProgrammingError:除非使用可以解释8位字节串的text_factory(如text_factory = str),否则不得使用8位字节串。强烈建议您改为将应用程序切换为Unicode字符串。 好的,我切换到Unicode字符串。然后我开始收到消息: sqlite3.OperationalError:无法解码为文本为“ SigurRós”的UTF-8列“ tag_artist” 尝试从数据库检索数据时。进行了更多研究,我开始在utf8中对其进行编码,但随后“ SigurRós”开始看起来像“ SigurRós” 注意: 正如@John Machin指出的那样,我的控制台设置为在“ latin_1”中显示。 是什么赋予了?看完这篇文章并描述了我所处的完全相同的情况之后,似乎该建议是忽略其他建议并毕竟使用8位字节串。 在开始此过程之前,我对unicode和utf不太了解。在过去的几个小时中,我学到了很多东西,但是我仍然不知道是否有一种方法可以将“ó”从拉丁文1正确地转换为utf-8,而不是对其进行处理。如果没有,为什么sqlite强烈建议我将应用程序切换为unicode字符串? 我将使用最近24小时内我学到的所有内容的摘要和一些示例代码来更新此问题,以便穿鞋的人可以轻松获得指南。如果我发布的信息有误或以任何方式引起误导,请告诉我,我会更新,或者你们中的一位资深人士可以更新。 答案摘要 让我先说一说我了解的目标。如果要在各种编码之间进行转换,则处理各种编码的目的是要了解源编码是什么,然后使用该源编码将其转换为unicode,然后将其转换为所需的编码。Unicode是一个基础,编码是该基础的子集的映射。utf_8可以容纳unicode中的每个字符,但是由于它们与例如latin_1不在同一个位置,因此,以utf_8编码并发送到latin_1控制台的字符串看起来不会像您期望的那样。在python中,进入unicode并转换为另一种编码的过程如下: str.decode('source_encoding').encode('desired_encoding') 或者如果str已经在unicode中 str.encode('desired_encoding') 对于sqlite,我实际上并不想再次对其进行编码,我想对其进行解码并将其保留为unicode格式。在尝试使用python中的unicode和编码时,可能需要注意以下四点。 您要使用的字符串的编码以及要获取的字符串的编码。 系统编码。 控制台编码。 源文件的编码 详细说明: (1)从源读取字符串时,它必须具有某种编码,例如latin_1或utf_8。就我而言,我从文件名中获取字符串,所以不幸的是,我可能会获得任何类型的编码。Windows XP使用UCS-2(Unicode系统)作为其本机字符串类型,这对我来说似乎是作弊行为。对我来说幸运的是,大多数文件名中的字符都不会由多个源编码类型组成,而且我认为我的全部要么完全是latin_1,完全是utf_8,要么仅仅是纯ascii(这是两个字符的子集)那些)。因此,我只是阅读它们并对其进行解码,就好像它们仍在latin_1或utf_8中一样。不过,在Windows上的文件名中,可能有latin_1和utf_8以及其他任何字符混合在一起的可能。有时这些字符会显示为方框,有时候,它们看起来像是被弄乱了,而有时候,它们看起来是正确的(带重音的字符等等)。继续。 (2)Python具有默认的系统编码,该默认系统编码会在python启动时设置,并且无法在运行时更改。有关详细信息,请参见此处。肮脏的摘要...好吧,这是我添加的文件: \# sitecustomize.py \# this file can be anywhere in your Python path, \# but it usually goes in …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.