我在做压缩的JavaScript文件,压缩机抱怨我的文件中有字符。 我如何search这些字符并将其删除?
看来,红色的心脏表情符号(❤️)“\ uFEIF”需要两个unicode代码点,特别是沉重的黑色心脏,后面跟着一个变化select器 。 然而, 蓝💙 , 绿💚 , 黄💛和紫💜都有自己的单个码点。 为什么红色如此不同?
我有一个使用默认字符集SQL_ASCII设置的数据库。 我想把它切换到UNICODE。 有没有一个简单的方法来做到这一点?
有谁知道如何在FPDF包中设置编码为utf-8? 或者至less是支持希腊字符的ISO-8859-7(希腊语)? 基本上我想创build一个包含希腊字符的PDF文件。 任何build议将有所帮助。 乔治
我看了堆栈溢出( replace字符..呃 , 如何JavaScript不遵循有关RegExp的Unicode标准等),并没有真正find具体的答案的问题: How can JavaScript match for accented characters (those with diacritical marks)? 我迫使UI中的字段匹配格式: last_name, first_name (last [comma space] first) ,我想提供对变音符号的支持,但显然在JavaScript中比其他语言/平台更困难。 这是我原来的版本,直到我想添加diacritic支持: /^[a-zA-Z]+,\s[a-zA-Z]+$/ 目前我正在讨论三种添加支持的方法之一,所有这些方法我都已经testing过了(至less在某种程度上,我并不知道第二种方法的“范围”是什么)。 他们来了: 明确列出所有我想接受的有重音的字符(蹩脚且过于复杂): var accentedCharacters = "àèìòùÀÈÌÒÙáéíóúýÁÉÍÓÚÝâêîôûÂÊÎÔÛãñõÃÑÕäëïöüÿÄËÏÖÜŸçÇßØøÅåÆæœ"; // Build the full regex var regex = "^[a-zA-Z" + accentedCharacters + "]+,\\s[a-zA-Z" + accentedCharacters + "]+$"; // Create a RegExp from the […]
是否有可能将std :: string中的UTF8string转换为std :: wstring,反之亦然? 在Windows应用程序中,我将使用MultiByteToWideChar和WideCharToMultiByte。 但是,代码是为多个操作系统编译的,而我仅限于标准的C ++库。
我使用SQL Server 2008在我的计算机上创build了一个dtsx包。它将数据从分号分隔的csv文件导入到所有字段types为NVARCHAR MAX的表中。 它适用于我的电脑,但需要在客户端服务器上运行。 每当他们使用相同的csv文件和目标表创build相同的包时,他们会收到上述错误。 我们已经逐步完成了包装的创build,一切都好了。 映射都是正确的,但是当他们在最后一步运行包时,他们会收到这个错误。 他们正在使用SQL Server 2005。 任何人都可以build议从哪里开始寻找这个问题?
我开始尝试使用python在sqlite中存储string,并得到消息: sqlite3.ProgrammingError:除非使用可解释8位字节串的text_factory(如text_factory = str),否则不得使用8位字节串。 强烈build议您将应用程序切换为Unicodestring。 好的,我切换到Unicodestring。 然后我开始收到消息: sqlite3.OperationalError:无法解码到UTF-8列'tag_artist'与文字'SigurRós' 当试图从数据库中检索数据。 更多的研究,我开始用utf8编码,但是“SigurRós”开始看起来像“Sigur R?s” 注意:我的控制台被设置为显示在“latin_1”,正如@John Machin指出的那样。 是什么赋予了? 读完这个之后 ,描述完全一样的情况,好像build议是忽略其他的build议,并使用8位字节串。 在我开始这个过程之前,我对Unicode和UTF不太了解。 在过去的几个小时里,我学到了很多东西,但是我仍然不知道是否有办法将“ó”从拉丁文-1正确地转换为utf-8,而不是将其摧毁。 如果没有,为什么会强烈build议我将应用程序切换到unicodestring? 我将用一个总结和一些示例代码来更新这个问题,这些代码是我在过去24小时学到的一切,这样我的鞋子里有人可以有一个简单的指导。 如果我发布的信息有任何错误或误导,请告诉我,我会更新,或者你们其中一位高级人员可以更新。 答案摘要 让我先说明我的理解。 处理各种编码的目标是,如果你想在它们之间进行转换,就要理解你的源编码是什么,然后使用该源编码将其转换为unicode,然后将其转换为你想要的编码。 Unicode是基础,编码是该基础子集的映射。 utf_8为unicode中的每个字符提供了空间,但是因为它们与latin_1不在同一个地方,所以使用utf_8编码并发送到latin_1控制台的string将看起来不像您期望的那样。 在python中获得unicode和另一种编码的过程如下所示: str.decode('source_encoding').encode('desired_encoding') 或者如果str已经在unicode中 str.encode('desired_encoding') 对于sqlite我实际上并不想重新编码,我想解码它,并保持unicode格式。 在尝试使用unicode和python编码时,需要注意以下四点。 您想要使用的string编码,以及您想要的编码。 系统编码。 控制台编码。 源文件的编码 阐述: (1)从源读取string时,它必须有一些编码,如latin_1或utf_8。 在我的情况下,我从文件名获得string,所以不幸的是,我可以得到任何types的编码。 Windows XP使用UCS-2(一个Unicode系统)作为它的本地stringtypes,这似乎是对我的欺骗。 对我来说幸运的是,大多数文件名中的字符不会由多个源编码types组成,我认为我的所有字符都完全是latin_1,完全是utf_8,或者只是简单的ascii(它是那些)。 所以我只读了它们,并将它们解码,好像它们仍然在latin_1或utf_8中。 不过,有可能你可以将latin_1和utf_8以及其他任何字符混合在一个文件名中。 有时这些angular色可以显示为框,其他时候他们只是看起来被打乱,而其他时候他们看起来是正确的(重音字符和什么)。 继续。 (2)Python有一个默认的系统编码,在Python启动时被设置,在运行时不能被修改。 详情请看这里 。 肮脏的总结…以及这里是我添加的文件: \# sitecustomize.py \# this file […]
我有一个pathvariables的编码问题,并将其插入到SQLite数据库。 我试图解决它与编码(“utf-8”)function没有帮助。 然后我使用unicode()函数,它给我types的Unicode 。 print type(path) # <type 'unicode'> path = path.replace("one", "two") # <type 'str'> path = path.encode("utf-8") # <type 'str'> strange path = unicode(path) # <type 'unicode'> 最后我得到了unicodetypes,但是当pathvariables的types是str时,仍然存在相同的错误 sqlite3.ProgrammingError:除非使用可解释8位字节串的text_factory(如text_factory = str),否则不得使用8位字节串。 强烈build议您将应用程序切换为Unicodestring。 你能帮我解决这个错误,并解释正确的使用encode("utf-8")和unicode()函数? 我经常与之战斗。 编辑: 这个execute()语句引发了这个错误: cur.execute("update docs set path = :fullFilePath where path = :path", locals()) 我忘了改变同样问题的fullFilePathvariables的编码,但我现在很困惑。 我应该只使用unicode()还是编码(“utf-8”)或两者? 我不能用 fullFilePath = unicode(fullFilePath.encode("utf-8")) […]
使用Python 2.7,我想知道哪种真正的优势使用typesunicode而不是str ,因为他们似乎都能够保存Unicodestring。 有没有什么特别的原因可以使用scape char \ ?在unicodestring中设置Unicode代码: 执行一个模块: # -*- coding: utf-8 -*- a = 'á' ua = u'á' print a, ua 结果在:á,á 编辑: 使用Python shell进行更多的testing: >>> a = 'á' >>> a '\xc3\xa1' >>> ua = u'á' >>> ua u'\xe1' >>> ua.encode('utf8') '\xc3\xa1' >>> ua.encode('latin1') '\xe1' >>> ua u'\xe1' 所以, unicodestring似乎是使用latin1而不是utf-8编码的,原始string是使用utf-8编码的? 我现在更糊涂了! :S