草庐IT

ENCODING

全部标签

python - 如何使用 python 2.7 创建具有希伯来文名称的文件?

这是我的代码(t.name包含希伯来语名称):#-*-coding:utf8-*-title='%s.html'%t.namewithfile(title,'wb')asfpo:fpo.write('\n')message='שלוםלך%s'%t.namefpo.write('%s\n'%message)这是文件在文件系统中的样子(Windows7):浏览器可以很好地呈现内容。我在这里错过了什么?谢谢,奥马尔。 最佳答案 Windows文件系统使用UTF16编码。不过,最好的办法是使用unicode值,因为Python会自动使用适

python - os.walk 不能正确处理路径中的 unicode 字符

我想浏览子目录名称中可以包含非ascii字符的目录。在这种情况下,os.walk将子目录视为一个文件。以下示例:我有目录test和子目录:asd、géocelloforroot,dirs,filesinos.walk(directory):print(root,dirs,files)打印:test['asd']['geocello']test\asd[]['testfile.txt','123.txt']我在WindowsXP下运行这段代码。在Linux上一切正常。如何让Python正确处理路径? 最佳答案 为目录传入一个unico

c++ - GetWindowText 无法处理商标符号

HWNDForeWindow=GetForegroundWindow();wchar_tWindowTxt[1024]={L'\0'};GetWindowTextW(ForeWindow,WindowTxt,1024);wprintf(L"%s\n",WindowTxt);std::wstringStr(WindowTxt);std::wcout使用上面的代码获取“Skype™”的Skype窗口,我得到输出:"Skype?"(wcout行执行失败)1)为什么GetWindowText的宽字符版本无法处理这个字符2)为什么std::wstring解析wchar_t数组失败然后打印到控制台

windows - IntelliJ 默认系统编码

我在使用IntelliJ时遇到问题,因为它会检测默认的系统编码,例如cp-1252,然后它会在我的项目中使用该首选项。IntelliJ从哪里获取该信息?有什么方法可以更改默认系统编码?这适用于IntelliJ14和Windows7。 最佳答案 如果你去:文件->其他设置->默认设置->编辑器->文件编码您可以在此处更改IntelliJ将使用的默认编码。要更改特定项目的设置,请转到:文件->设置->默认设置->编辑器->文件编码CP-1252是拉丁字母表中字符的默认Windows编码。 关

windows - vim 显示带@符号的文件内容

我用vim打开了一个文件event.txt并显示了一些搜索结果。这工作正常,但由于我在_vimrc中做了更改,它显示带有@符号的文件内容,因此它不可读。见下图。我在_vimrc中所做的更改是setfileencoding=utf-8但我评论了它。所以它应该不会影响vim。"setfileencoding=utf-8文件仍然显示为不可读。使用其他编辑器,我可以打开文件并正常查看。前段时间我有过这种行为,但我不知何故消失了。我不记得了。event.txt文件是我通过powershell生成的windows事件文件:get-eventlog-lognamesystem>event.txt有些

Windows命令行中的Python编码: Chcp 932 doesn't work?

我看过其他答案,并按照他们的建议做了:1.ChangedsystemlocaletoJapanese2.Chcp932(Japanese)3.PythonfilesavedasUTF-84.Allinputsaresubjecttotheunicode(input,'utf-8')functionasseenbelow.注意:我也尝试过使用chcp65001,但这也不起作用。我正在尝试读取日语的csv文件,但不断出现以下错误。Traceback(mostrecentcalllast):......UnicodeEncodeError:'cp932'codeccan'tencodecha

windows - 如何在 Perl 中线程安全地设置 STDOUT 编码?

根据文档,使用encoding模块与threads不是线程安全的,并且自perl1.18起已弃用。我在Windows7机器上使用perl5.16。我需要将输出转换为windows866编码。尝试运行线程时,以下代码解释器崩溃。useutf8;binmode(STDOUT,':encoding(cp866)');usethreads;my$thr=threads->create(sub{print"потокработает";})->detach();sleep1;print"основнойпотоктакжеработает";如果没有binmode(STDOUT,':cp866'

java - 无法使用Java在Windows cmd上显示unicode字符

我的代码:classTest{publicstaticvoidmain(String[]args){charc='П';System.out.print(c);}}我只想在Windowscmd上显示该字符(这对于cmd来说似乎是过于复杂的问题,因为我尝试了很多不同的方法但未能成功)。我尝试了一个简单的方法:javacTest.java,编译器抛出这个:Test.java:3:错误:未闭合的字rune字charc='П';我试过javac-encodingUTF-8Test.java。它编译但字符没有出现在cmd中。我尝试用unicode保存Test.java并输入javac-encod

windows - 将 Subversion 提交消息转换为 Unicode

目前我有一个本地Subversion存储库,其中包含大量cp1251编码的提交消息。有什么方法可以将所有提交消息转换为utf-8编码? 最佳答案 正如Rup-8所说,subversion应该在将所有日志消息存储到存储库之前将它们转换为UTF-8,然后再转换回本地编码以供显示。如果您的日志消息未正确转换,则:确保您的区域设置正确识别您正在使用的编码;或者,使用--message-encoding选项 关于windows-将Subversion提交消息转换为Unicode,我们在StackO

windows - Vim 。 Windows 中保存的文件的编码问题

每次我在Windows中为某些文件夹保存文件后,我都有����个字符。对于其他一些文件夹-一切都很好。我找不到一切都很好的文件夹和文件以坏结尾保存的文件夹之间的区别。所以我每次都必须在修改后的文件上在我的linux虚拟机中运行dos2unix。由于这些文件是javascript-这很烦人!帮帮我,挖哪里?如何避免在文件末尾出现����个字符?:setfileencoding=utf-8没有帮助。通常vim有用于dos文件的-[dos]标签在缓冲区窗口的底部-在我的例子中一切都很好,那里没有[dos]标签。 最佳答案 这看起来更像是文