我有一个网站,我可以用Firefox中的jQuery发送我的土耳其字符,但Internet Explorer不会发送我的土耳其字符。 我在记事本中查看了我的源文件,这个文件的代码页是ANSI。 当我将它转换为没有BOM的UTF-8并closures文件时,当我重新打开时,该文件又是ANSI。 我如何将我的文件从ANSI转换为UTF-8?
我试图将UTF-8中的java编码的string转换为ISO-8859-1。 例如,在string'âabcd''中,ISO-8859-1表示为E2。 在UTF-8中,它表示为两个字节。 C3 A2我相信。 当我做一个getbytes(编码),然后用ISO-8859-1编码中的字节创build一个新的string时,我得到了两个不同的字符。 ¢?。 有没有其他的方式来做到这一点,以保持字符相同,即âabcd?
networking服务器以utf-8编码提供响应,所有文件都以utf-8编码保存,我所知道的设置已经被设置为utf-8编码。 这里有一个快速的程序,来testing输出是否工作: <?php $html = <<<HTML <!doctype html> <html> <head> <meta charset="utf-8"> <title>Test!</title> </head> <body> <h1>☆ Hello ☆ World ☆</h1> </body> </html> HTML; $dom = new DomDocument("1.0", "utf-8"); $dom->loadHTML($html); header("Content-Type: text/html; charset=utf-8"); echo($dom->saveHTML()); 该scheme的输出是: <!DOCTYPE html> <html><head><meta charset="utf-8"><title>Test!</title></head><body> <h1>â Hello â World â</h1> </body></html> 其中呈现为: ★你好††世界†† 我可能做错了什么? 我必须告诉DomDocument正确处理utf-8多less具体的内容?
在Python 2中有一个令人沮丧的设置sys.setdefaultencoding('utf-8')趋势。任何人都可以列出问题的真实例子吗? 像it is harmful论点it is harmful或者it hides bugs听起来不是很有说服力。 更新 :请注意,这个问题只是关于utf-8 ,这不是关于改变默认编码“一般情况下”。 如果可以,请给出一些代码示例。
我读过一些地方有git(或只是msysgit?)和字符编码的问题 – 我相信这只是文件名中的一个问题。 我想要的是一些关于以下方面的“权威”(或至less是权威的)信息: 究竟是什么“问题”? (症状) 是什么原因? (简要) 在什么情况下这是一个显示塞? 有没有解决方法,或者没有任何解决方法? 我希望这个问题不是太模糊,我认为把所有这些信息都集中在一个地方是很好的。
为了进行debugging,我需要recursionsearch所有以UTF-8字节顺序标记(BOM)开头的文件。 我目前的解决scheme是一个简单的shell脚本: find -type f | while read file do if [ "`head -c 3 — "$file"`" == $'\xef\xbb\xbf' ] then echo "found BOM in: $file" fi done 或者,如果你更喜欢简短,难以理解的单行: find -type f|while read file;do [ "`head -c3 — "$file"`" == $'\xef\xbb\xbf' ] && echo "found BOM in: $file";done 它不适用于包含换行符的文件名,但是这样的文件无论如何都是不可预料的。 有没有更短或更优雅的解决scheme? 文本编辑器有没有有趣的文本编辑器或macros?
我有一个带有二进制数据的string(1110100)我想把文本拿出来打印出来(1110100会打印“t”)。 我试过这个,它和我用来把文本转换成二进制文件的类似,但是根本不工作: public static String toText(String info)throws UnsupportedEncodingException{ byte[] encoded = info.getBytes(); String text = new String(encoded, "UTF-8"); System.out.println("print: "+text); return text; } 任何更正或build议将不胜感激。 谢谢!
我search了Java的内部表示string,但我有两个看起来可靠但不一致的材料。 一个是: http://www.codeguru.com/cpp/misc/misc/multi-lingualsupport/article.php/c10451 它说: Java使用UTF-16作为内部文本表示,并支持对string序列化的UTF-8进行非标准修改。 另一个是: http://en.wikipedia.org/wiki/UTF-8#Modified_UTF-8 它说: 对于Unicode数据的内部表示,Tcl也使用与Java相同的修改过的UTF-8 [25],但对外部数据使用严格的CESU-8。 修改UTF-8? 或者UTF-16? 哪一个是正确的? Java在内存中使用了多less个字节? 请让我知道哪一个是正确的,它使用多less字节。
我知道非标准的%uxxxxscheme,但这并不是一个明智的select,因为该scheme已被W3C拒绝。 一些有趣的例子: 心的性格。 如果我在浏览器中input: http://www.google.com/search?q=♥ 然后复制并粘贴它,我看到这个URL http://www.google.com/search?q=%E2%99%A5 这使得它看起来像Firefox(或Safari)正在这样做。 urllib.quote_plus(x.encode("latin-1")) '%E2%99%A5' 这是有道理的,除了不能用Latin-1编码的东西,就像三重点字符。 … 如果我input的url http://www.google.com/search?q=… 进入我的浏览器,然后复制并粘贴,我得到 http://www.google.com/search?q=%E2%80%A6 背部。 这似乎是做的结果 urllib.quote_plus(x.encode("utf-8")) 这是有道理的,因为…不能用Latin-1编码。 但是接下来我不清楚浏览器是如何知道是用UTF-8还是用Latin-1来解码。 由于这似乎是模棱两可的: In [67]: u"…".encode('utf-8').decode('latin-1') Out[67]: u'\xc3\xa2\xc2\x80\xc2\xa6' 工作,所以我不知道如何浏览器找出是否使用UTF-8或Latin-1解码。 用我需要处理的特殊字符做什么是正确的?
所以我正确地转换法文字符有问题。 基本上,我有一个表单发送数据到SQL数据库。 然后,在另一页上,来自该DB的数据被检索并显示给用户。 但是数据(string)被显示为错误的字符,因为另一页上的表单input是法文的。 我通过使用下面的函数将string转换为正确的字符集来克服这个问题。 但是,显然更好的解决scheme是将其转换为FIRST,然后将其发送到数据库。 现在这里是将从DB检索的string转换为相应的字符集的代码: Function ConvertFromUTF8(sIn) Dim oIn: Set oIn = CreateObject("ADODB.Stream") oIn.Open oIn.CharSet = "WIndows-1252" oIn.WriteText sIn oIn.Position = 0 oIn.CharSet = "UTF-8" ConvertFromUTF8 = oIn.ReadText oIn.Close End Function 我从这里得到这个函数: 经典的ASP – 如何将一个UTF-8string转换为UCS-2? 现在我的问题是,我用什么函数事先转换string,然后将它们发送到数据库,所以当我检索他们时,他们将是很好的去? 试过保罗的方法: 所以有第1页和第2页。第1页包含一个表单,当提交时,将string发送到数据库,然后在第2页中进行检索。我尝试了Paul的解决scheme,通过删除ConvertFromUTF8函数并保持原来的状态(它返回了怪异的芒果字符)。 之后,我在页面1和页面2的顶部添加了以下行。 <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> 我在这两页上也有以下内容: Response.CodePage = 65001 Response.CharSet = "UTF-8" 但它没有工作:( 编辑:它的作品!,非常感谢你的帮助! 我所需要做的只是在第三页(我甚至没有谈到)上添加“CodePage = 65001”,在那里写数据库部分正在发生。