Tag: unicode

如何在Python 3中设置sys.stdout编码?

在Python 2中设置默认的输出编码是一个众所周知的习惯用法: sys.stdout = codecs.getwriter("utf-8")(sys.stdout) 这将sys.stdout对象包装在编码输出为UTF-8的编解码器sys.stdout器中。 但是,这种技术在Python 3中不起作用,因为sys.stdout.write()需要一个str ,但是编码的结果是bytes ,而当codecs试图将编码的字节写入原始的sys.stdout时会发生错误。 什么是在Python 3中做到这一点的正确方法?

Windows cmd编码更改导致Python崩溃

首先,我将Windows CMD编码更改为utf-8并运行Python解释器: chcp 65001 python 然后我尝试打印一个unicode sting里面,当我这样做Python以一种奇怪的方式崩溃(我只是在同一个窗口中得到一个cmd提示符)。 >>> import sys >>> print u'ëèæîð'.encode(sys.stdin.encoding) 任何想法,为什么发生,如何使其工作? UPD : sys.stdin.encoding返回'cp65001' UPD2 :在我看来,这个问题可能与utf-8使用多字节字符集有关 (kcwu在这方面做了一个很好的说明)。 我试着用“windows-1250”来运行整个例子,并得到了“ëeaî?”。 Windows-1250使用单字符集,因此它适用于那些理解的字符。 但是我仍然不知道如何使'utf-8'在这里工作。 UPD3 :哦,我发现这是一个已知的Python错误 。 我猜会发生什么是Python将cmd编码复制为“cp65001”转换为“sys.stdin.encoding”,并尝试将其应用于所有input。 由于它不能理解“cp65001”,它会在任何包含非ASCII字符的input上崩溃。

如何将wstring转换为string?

问题是如何将wstring转换为string? 我有下个例子: #include <string> #include <iostream> int main() { std::wstring ws = L"Hello"; std::string s( ws.begin(), ws.end() ); //std::cout <<"std::string = "<<s<<std::endl; std::wcout<<"std::wstring = "<<ws<<std::endl; std::cout <<"std::string = "<<s<<std::endl; } 输出注释掉的是: std::string = Hello std::wstring = Hello std::string = Hello 但没有只是: std::wstring = Hello 这个例子有什么不对吗? 我可以做如上所述的转换吗? 编辑 新的例子(考虑到一些答案)是 #include <string> #include <iostream> #include <sstream> #include […]

生成PDF时无法获得捷克字符

在生成PDF时添加“Č”或“Ć”等字符时遇到问题。 我主要是使用段落插入一些静态文本到我的PDF报告。 以下是我使用的一些示例代码: var document = new Document(); document.Open(); Paragraph p1 = new Paragraph("Testing of letters Č,Ć,Š,Ž,Đ", new Font(Font.FontFamily.HELVETICA, 10)); document.Add(p1); 生成PDF文件时获得的输出如下所示:“testing字母,,,”,“ 由于某些原因,iTextSharp似乎无法识别这些字母,如“Č”和“Ć”。

如何在phpMyAdmin中显示UTF-8字符?

我有我的数据库正确设置为UTF-8和正在处理包含日语字符的数据库。 如果我从MySQL命令行执行SELECT * …,我会正确地看到日文字符。 从数据库中提取数据并将其显示在网页上时,我可以正确地看到它。 但是,在phpMyAdmin中查看表格数据时,我只能看到垃圾文本。 即。 ç§ã¯æ-¥æœ¬æ-™C†ãŒå¥½ãã§ã™ã€,æ-¥æœ¬æ-™C†A,… 我怎样才能让phpMyAdmin显示日文中的字符? HTML页面上的字符编码设置为UTF-8。 编辑: 我已经尝试导出我的数据库,并在geany中打开.sql文件。 即使编码设置为UTF-8,字符仍然是乱码。 (但是,做一个mysqldump的数据库也显示乱码)。 数据库和所有表的字符集设置正确(在文件的任何位置都找不到“拉丁文”) CREATE DATABASE `japanese` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; 我已经添加了行my.cnf并重新启动mysql,但没有任何改变。 我正在使用Zend框架将数据插入到数据库中。 我打算为这个问题开一个奖金,因为我真的想知道这个问题。

使用awk删除字节顺序标记

awk脚本(大概是单行)如何去除BOM ? 规范: 打印每行之后( NR > 1 ) 对于第一行:如果以#FE #FF或#FF #FE ,则删除它们并打印剩下的部分

通过PrimeFacesinput组件检索的Unicodeinput已损坏

当我还在使用PrimeFaces v2.2.1时,我能够使用PrimeFacesinput组件(如<p:inputText>和<p:editor>inputunicodeinput,例如中文,并在托pipebean方法中检索input状态良好。 但是,升级到PrimeFaces v3.1.1后,所有这些字符都变成了Mojibake或问号。 只有拉丁文的input才算正常,是中文,阿拉伯文,希伯来文,西里尔文等变得格格不入的文字。 这是如何造成的,我该如何解决?

“Unicode错误”unicodeescape“编解码器无法解码字节…无法在Python 3中打开文本文件

我正在使用python 3.1,在Windows 7的机器上。 俄语是默认的系统语言,utf-8是默认的编码。 看看前面问题的答案,我试图使用“编解码器”模块给我一点运气。 这里有几个例子: >>> g = codecs.open("C:\Users\Eric\Desktop\beeline.txt", "r", encoding="utf-8") SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-4: truncated \UXXXXXXXX escape (<pyshell#39>, line 1) >>> g = codecs.open("C:\Users\Eric\Desktop\Site.txt", "r", encoding="utf-8") SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-4: truncated \UXXXXXXXX escape (<pyshell#40>, line 1) >>> g = […]

在C#中使用Pop3阅读电子邮件

我正在寻找一种在C#2.0中使用Pop3阅读电子邮件的方法。 目前,我正在使用CodeProject中find的代码 。 但是,这个解决scheme并不理想。 最大的问题是它不支持用unicode编写的邮件。

将符号,口音字母转换为英文字母

问题是,如你所知, 在Unicode图表中有成千上万的字符,我想将所有相似的字符转换成英文字母。 比如这里有几个转换: ҥ->H Ѷ->V Ȳ->Y Ǭ->O Ƈ->C tђє Ŧค๓เℓy –> the Family … 我看到有超过20个字母A / A的版本。 我不知道如何分类。 他们看起来像干草堆里的针。 unicode字符的完整列表在http://www.ssec.wisc.edu/~tomw/java/unicode.html或http://unicode.org/charts/charindex.html 。 只要尝试向下滚动,看看字母的变化。 我怎样才能转换所有这些与Java? 请帮帮我 :(