Tag: unicode

在Django中保存unicodestring时,MySQL“错误的string值”错误

尝试将first_name,last_name保存到Django的auth_user模型时,出现奇怪的错误消息。 失败的例子 user = User.object.create_user(username, email, password) user.first_name = u'Rytis' user.last_name = u'Slatkevičius' user.save() >>> Incorrect string value: '\xC4\x8Dius' for column 'last_name' at row 104 user.first_name = u'Валерий' user.last_name = u'Богданов' user.save() >>> Incorrect string value: '\xD0\x92\xD0\xB0\xD0\xBB…' for column 'first_name' at row 104 user.first_name = u'Krzysztof' user.last_name = u'Szukiełojć' user.save() >>> Incorrect string value: '\xC5\x82oj\xC4\x87' […]

为什么在允许某些Unicode字符的注释中执行Java代码?

下面的代码产生输出“Hello World!” (没有真的,试试看)。 public static void main(String… args) { // The comment below is not a typo. // \u000d System.out.println("Hello World!"); } 原因在于Java编译器将Unicode字符\u000dparsing为新行,并转换为: public static void main(String… args) { // The comment below is not a typo. // System.out.println("Hello World!"); } 从而导致评论被“执行”。 既然这可以用来“隐藏”恶意代码,或者一个邪恶的程序员能想象的, 为什么它可以在评论中被允许 ? 为什么Java规范允许这样做?

用Python编写UTF-8string到MySQL

我正在尝试将用户帐户数据从Active Directory推送到我们的MySQL服务器。 这工作完美无瑕,但不知怎的,string最终显示了元音变音和其他特殊字符的编码版本。 Active Directory使用此示例格式返回一个string: M\xc3\xbcller 这实际上是Müller的UTF-8编码,但我想将Müller写入我的数据库而不是M\xc3\xbcller 。 我尝试使用此行转换string,但它导致在数据库中相同的string: tempEntry[1] = tempEntry[1].decode("utf-8") 如果我在python控制台中运行print "M\xc3\xbcller".decode("utf-8") ,输出是正确的。 有没有办法以正确的方式插入这个string? 我需要这种特定的格式为一个Web开发人员谁想要这个确切的格式,我不知道他为什么不能够直接使用PHP转换string。 其他信息:我正在使用MySQLdb; 表和列编码是utf8_general_ci

如何将UTF-8string转换为Unicode?

我有显示UTF-8编码字符的string,我想将其转换回Unicode。 现在,我的实现如下: public static string DecodeFromUtf8(this string utf8String) { // read the string as UTF-8 bytes. byte[] encodedBytes = Encoding.UTF8.GetBytes(utf8String); // convert them into unicode bytes. byte[] unicodeBytes = Encoding.Convert(Encoding.UTF8, Encoding.Unicode, encodedBytes); // builds the converted string. return Encoding.Unicode.GetString(encodedBytes); } 我正在玩"déjà"这个词。 我已经通过这个在线工具将它转换为UTF-8,于是我开始用string"déjÃ"来testing我的方法。 不幸的是,在这个实现中,string保持不变。 我错在哪里?

如何编译一个编码为“UTF-8”的java源文件?

我保存了我的Java源文件,指定它的编码types为UTF-8(使用记事本,默认情况下记事本的编码types是ANSI),然后我试着编译它: javac -encoding "UTF-8" One.java 但它给了一个错误消息“ One.java:1: illegal character: \65279 ?public class One { ^ 1 error 有没有其他办法,我可以编译这个? 这里是来源: public class One { public static void main( String[] args ){ System.out.println("HI"); } }

如何从PHP中的unicode代码点获取字符?

例如, 如何获得对应于U + 010F的字符?

显示将Html转换为Pdf的Unicode字符

我正在使用itextsharp dll将HTML转换为PDF。 HTML有一些Unicode字符,如α,β…当我尝试将HTML转换为PDF时,Unicode字符不显示在PDF中。 我的function: Document doc = new Document(PageSize.LETTER); using (FileStream fs = new FileStream(Path.Combine("Test.pdf"), FileMode.Create, FileAccess.Write, FileShare.Read)) { PdfWriter.GetInstance(doc, fs); doc.Open(); doc.NewPage(); string arialuniTff = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Fonts), "ARIALUNI.TTF"); BaseFont bf = BaseFont.CreateFont(arialuniTff, BaseFont.IDENTITY_H, BaseFont.EMBEDDED); Font fontNormal = new Font(bf, 12, Font.NORMAL); List<IElement> list = HTMLWorker.ParseToList(new StringReader(stringBuilder.ToString()), new StyleSheet()); Paragraph p = new Paragraph {Font = […]

😃(和其他unicode字符)不能被g ++识别的标识符

我发现,即使启用了-fextended-identifiers选项,我也不能使用😃作为g ++ 4.7的有效标识符: int main(int argc, const char* argv[]) { const char* 😃 = "I'm very happy"; return 0; } main.cpp:3:3:错误:在程序中丢失'\ 360' main.cpp:3:3:错误:在程序中丢失'\ 237' main.cpp:3:3:错误:在程序中丢失'\ 230' main.cpp:3:3:错误:在程序中丢失'\ 203' 经过一些Googlesearch之后,我发现UTF-8字符在标识符中还不被支持,但通用字符名称应该可以工作。 所以我把我的源代码转换为: int main(int argc, const char* argv[]) { const char* \U0001F603 = "I'm very happy"; return 0; } main.cpp:3:15:错误:通用字符\ U0001F603在标识符中无效 所以显然😃不是一个有效的标识字符。 但是,该标准特别允许附件E.1中的范围为10000-1FFFD字符,并且不允许它作为E.2中的初始字符。 我的下一个努力是看看是否有其他允许的unicode字符的工作 – 但我没有试过。 公安条例(💩)的性质甚至不重要。 […]

用Javascript解码UTF-8

我在一个传递UTF-8编码的string的XHTML网页中有Javascript。 它需要继续通过UTF-8版本,并解码它。 如何解码显示的UTF-8string? <script type="text/javascript"> // <![CDATA[ function updateUser(usernameSent){ var usernameReceived = usernameSent; // Current value: Größe var usernameDecoded = usernameReceived; // Decode to: Größe var html2id = ''; html2id += 'Encoded: ' + usernameReceived + '<br />Decoded: ' + usernameDecoded; document.getElementById('userId').innerHTML = html2id; } // ]]> </script>

可以用Unicode映射多less个字符?

我要求统计所有可能的有效组合的计数与解释。 我知道一个字符可以被编码为1,2,3或4个字节。 我也不明白为什么连续字节有限制,即使该字符的起始字节清除应该多长时间。