Questions tagged «utf-8»

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

14
Unicode(UTF-8)用Python读写文件
我在理解将文本写入文件和将文件写入文件时遇到了一些大脑故障(Python 2.4)。 # The string, which has an a-acute in it. ss = u'Capit\xe1n' ss8 = ss.encode('utf8') repr(ss), repr(ss8) (“ u'Capit \ xe1n'”,“'Capit \ xc3 \ xa1n'”) print ss, ss8 print >> open('f1','w'), ss8 >>> file('f1').read() 'Capit\xc3\xa1n\n' 因此,我Capit\xc3\xa1n在文件f2 中输入我最喜欢的编辑器。 然后: >>> open('f1').read() 'Capit\xc3\xa1n\n' >>> open('f2').read() 'Capit\\xc3\\xa1n\n' >>> open('f1').read().decode('utf8') u'Capit\xe1n\n' >>> …
329 python  unicode  utf-8  io 

24
检测编码并制作一切UTF-8
我正在从各种RSS提要中读取大量文本,并将其插入数据库中。 当然,提要中使用了几种不同的字符编码,例如UTF-8和ISO 8859-1。 不幸的是,文本的编码有时会出现问题。例: “Fußball”中的“ß”在我的数据库中应如下所示:“Ÿ”。如果它是“”,则正确显示。 有时,“Fußball”中的“ß”在我的数据库中看起来像这样:“ß”。然后,当然会显示错误。 在其他情况下,“ß”另存为“ß”-因此无需进行任何更改。然后它也会显示错误。 如何避免情况2和情况3? 如何使所有内容都使用相同的编码,最好是UTF-8?什么时候必须使用utf8_encode(),什么时候必须使用utf8_decode()(很清楚效果是什么,但是什么时候必须使用这些功能?),什么时候我什么都不要做输入? 如何使所有内容都具有相同的编码?也许具有功能mb_detect_encoding()?我可以为此编写函数吗?所以我的问题是: 如何找出文字使用的编码方式? 我如何将其转换为UTF-8-不管旧的编码是什么? 这样的功能会起作用吗? function correct_encoding($text) { $current_encoding = mb_detect_encoding($text, 'auto'); $text = iconv($current_encoding, 'UTF-8', $text); return $text; } 我已经测试过了,但是没有用。它出什么问题了?

5
UTF-8:一般?斌吗 Unicode?
我试图弄清楚我应该对各种类型的数据使用哪种排序规则。我将存储的内容的100%是用户提交的。 我的理解是,我应该使用UTF-8 General CI(不区分大小写),而不是UTF-8 Binary。但是,我找不到UTF-8通用CI和UTF-8 Unicode CI之间的明显区别。 我应该将用户提交的内容存储在UTF-8 General或UTF-8 Unicode CI列中吗? UTF-8 Binary适用于什么类型的数据?
279 mysql  utf-8  collation 



2
网址在Python中解码UTF-8
就我是Python的新手而言,我已经花了很多时间。 我怎么能解码这样的URL: example.com?title=%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D0%B2%D0%B0%D1%8F+%D0%B7%D0%B0%D1%89%D0%B8%D1%82%D0%B0 到python 2.7中的这个: example.com?title==правовая+защита url=urllib.unquote(url.encode("utf8")) 返回的东西非常丑陋。 仍然没有解决方案,感谢您的帮助。


11
UTF-8字节[]转换为字符串
假设我刚刚使用a BufferedInputStream将UTF-8编码的文本文件的字节读入字节数组。我知道我可以使用以下例程将字节转换为字符串,但是有没有比仅遍历字节并转换每个字节更有效/更智能的方式了? public String openFileToString(byte[] _bytes) { String file_string = ""; for(int i = 0; i < _bytes.length; i++) { file_string += (char)_bytes[i]; } return file_string; }
243 java  utf-8 

17
尝试通过JDBC将UTF-8插入MySQL时出现“字符串值错误”的问题?
这是我的连接设置方式: Connection conn = DriverManager.getConnection(url + dbName + "?useUnicode=true&characterEncoding=utf-8", userName, password); 尝试在表中添加行时出现以下错误: Incorrect string value: '\xF0\x90\x8D\x83\xF0\x90...' for column 'content' at row 1 我正在插入数千条记录,并且当文本包含\ xF0时,总是会出现此错误(即,不正确的字符串值始终以\ xF0开头)。 该列的排序规则是utf8_general_ci。 可能是什么问题呢?
228 mysql  jdbc  utf-8  utf8mb4 

16
我真的需要将“&”编码为“&”吗?
我在网站的中使用&带有HTML5和UTF-8 的' '符号<title>。Google会在其SERP上显示“&”号罚款,标题中的所有浏览器也一样。 http://validator.w3.org给了我这个: &没有启动字符引用。(&可能应该以进行转义&。) 我真的需要做&吗? 我不必为验证页面而对页面验证感到困惑,但我很好奇,希望听到人们对此的看法,以及它是否重要以及为什么。

4
用Python写入UTF-8文件
我真的很困惑codecs.open function。当我做: file = codecs.open("temp", "w", "utf-8") file.write(codecs.BOM_UTF8) file.close() 它给我错误 UnicodeDecodeError:'ascii'编解码器无法解码位置0的字节0xef:序数不在范围内(128) 如果我做: file = open("temp", "w") file.write(codecs.BOM_UTF8) file.close() 它工作正常。 问题是为什么第一种方法会失败?以及如何插入宝? 如果第二种方法是正确的方法,那么使用的重点是codecs.open(filename, "w", "utf-8")什么?

8
HTML编码问题-显示“”字符而不是“ ”
由于不确定的原因,我有一个旧版应用程序开始表现异常。它生成一堆HTML,由ActivePDF转换为PDF报告。 该过程如下所示: 从数据库中提取带有替换标记的HTML模板(例如“〜CompanyName〜”,“〜CustomerName〜”等) 用真实数据替换令牌 使用简单的正则表达式函数对HTML进行整理,该函数可对HTML标签属性值进行格式设置(确保引号等,因为ActivePDF的呈现引擎只讨厌属性值周围的单引号) 将HTML发送到创建PDF的Web服务。 在混乱的某个地方,HTML模板( s)中的不间断空格被编码为ISO-8859-1,因此当在浏览器(FireFox)中查看文档时,它们会错误地显示为“”字符。ActivePDF会戳这些非UTF8字符。 我的问题是:由于我不知道问题源于何处并且没有时间进行调查,是否有一种简单的方法可以重新编码或查找和替换不良字符?我试图通过我一起放的这个小功能来发送它,但是这一切都变成了gobbledegook并没有改变任何东西。 Private Shared Function ConvertToUTF8(ByVal html As String) As String Dim isoEncoding As Encoding = Encoding.GetEncoding("iso-8859-1") Dim source As Byte() = isoEncoding.GetBytes(html) Return Encoding.UTF8.GetString(Encoding.Convert(isoEncoding, Encoding.UTF8, source)) End Function 有任何想法吗? 编辑: 我现在暂时解决这个问题,尽管这似乎不是一个好的解决方案: Private Shared Function ReplaceNonASCIIChars(ByVal html As String) As String Return Regex.Replace(html, "[^\u0000-\u007F]", …

12
PHP DOMDocument loadHTML无法正确编码UTF-8
我正在尝试使用DOMDocument解析一些HTML,但是当我这样做时,我突然失去了编码(至少对我来说是如此)。 $profile = "<div><p>various japanese characters</p></div>"; $dom = new DOMDocument(); $dom->loadHTML($profile); $divs = $dom->getElementsByTagName('div'); foreach ($divs as $div) { echo $dom->saveHTML($div); } 这段代码的结果是,我得到了一堆不是日语的字符。但是,如果我这样做: echo $profile; 它显示正确。我尝试过saveHTML和saveXML,但都无法正确显示。我正在使用PHP 5.3。 我所看到的: ã¤ãªãã¤å·ã·ã«ã´ã«ã¦ãã¢ã¤ã«ã©ã³ãç³»ã®å®¶åº­ã«ã9人åå¼ã®5çªç®ã¨ãã¦çã¾ãããå½¼ãå«ãã¦4人ã俳åªã«ãªã£ããç¶è¦ªã¯æ¨æã®ã»ã¼ã«ã¹ãã³ã§ãæ¯è¦ªã¯éµä¾¿å±ã®å®¢å®¤ä¿ã ã£ããé«æ ¡æ代ã¯ã­ã£ãã£ã®ã¢ã«ãã¤ãã«å¤ãã¿ãæè²è³éãåããªããã«ããªãã¯ç³»ã®é«æ ¡ã¸é²å­¦ã 应该显示什么: イリノイ州シカゴにて、アイルランド系の家庭に、9人兄弟の5番目として生まれる。彼を含めて4人が俳優になった。父親は木材のセールスマンで、母親は郵便局の客室係だった。高校時代はキャディのアルバイトに勤しみ、教育資金を受けながらカトリック系の高校へ進学 编辑:我已将代码简化为五行,因此您可以自己对其进行测试。 $profile = "<div lang=ja><p>イリノイ州シカゴにて、アイルランド系の家庭に、</p></div>"; $dom = new DOMDocument(); $dom->loadHTML($profile); echo $dom->saveHTML(); echo $profile; 这是返回的html: <div …

9
如何在Python中将字符串转换为utf-8
我有一个将utf-8字符发送到我的Python服务器的浏览器,但是当我从查询字符串中检索到它时,Python返回的编码是ASCII。如何将纯字符串转换为utf-8? 注意:从网络传递的字符串已经是UTF-8编码的,我只想让Python将其视为UTF-8而不是ASCII。

30
如何在PHP中输出Excel可以正确读取的UTF-8 CSV?
我有一个非常简单的东西,它只能以CSV格式输出一些内容,但必须是UTF-8。我在TextEdit或TextMate或Dreamweaver中打开了此文件,它正确显示了UTF-8字符,但是如果在Excel中打开它,则是在做这种愚蠢的事情。这是我文档开头的内容: header("content-type:application/csv;charset=UTF-8"); header("Content-Disposition:attachment;filename=\"CHS.csv\""); 除了Excel(Mac,2008)不想正确导入之外,这一切似乎都具有预期的效果。Excel中没有为我提供“以UTF-8格式打开”或其他任何选项的选项,所以…我有点生气。 尽管很多人都遇到相同的问题,但我似乎在任何地方都找不到解决此问题的明确方法。我最常看到的是包含BOM,但我无法确切地知道如何做到这一点。正如您在上面看到的那样,我只是在echo读取这些数据,没有写入任何文件。如果需要的话,我可以这样做,我只是没有,因为在这一点上似乎并不需要。有什么帮助吗? 更新:我尝试回显BOM表,因为echo pack("CCC", 0xef, 0xbb, 0xbf);它是从试图检测BOM的站点提取的。但是,Excel在导入时只是将这三个字符追加到第一个单元格中,并且仍然弄乱了特殊字符。

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.