Windows不要使用记事本编辑文本文件

摘自:廖雪峰

千万不要使用Windows自带的记事本编辑任何文本文件。原因是Microsoft开发记事本的团队使用了一个非常弱智的行为来保存UTF-8编码的文件,他们自作聪明地在每个文件开头添加了0xefbbbf(十六进制)的字符,你会遇到很多不可思议的问题,比如,网页第一行可能会显示一个“?”,明明正确的程序一编译就报语法错误,等等,都是由记事本的弱智行为带来的。建议你下载Notepad++代替记事本,不但功能强大,而且免费!记得把Notepad++的默认编码设置为UTF-8 without BOM即可

时间: 2024-11-10 11:38:12

Windows不要使用记事本编辑文本文件的相关文章

windows自带记事本导致文本文件(UTF-8编码)开头三个字符乱码问题

在windows平台下,使用系统的记事本以UTF-8编码格式存储了一个文本文件,但是由于Microsoft开发记事本的团队使用了一个非常怪异的行为来保存UTF-8编码的文件,它们自作聪明地在每个文件开头添加了0xefbbbf(十六进制)的字符,所以我们就会遇到很多不可思议的问题,比如,网页第一行可能会显示一个"?",明明正确的程序一编译就报出语法错误,等等. 下面为一段测试程序,由记事本编辑的文本文件导致文件开头前三个字符乱码. #include <stdio.h> #de

Linux下打开Windows环境下创建的文本文件显示中文乱码问题

产生原因: Linux下打开Windows环境下创建的文本文件出现中文乱码,因为两种操作系统的中文压缩方式不同,在Windows环境下中文编码一般为GBK,而在Linux环境中为UTF-8,这就导致了在Windows下能正常显示的文件在Linux环境下打开出现了乱码. 解决方法: 使用iconv命令, 命令语法:iconv -f fromcode [-cs] [-t tocode [file ...] 假设乱码文件名为Hello.c,那么在终端可使用如下命令进行格式转换: iconv -f GB

使用记事本编辑php文件导致的一点问题

今天修改自己在sae上面的WordPress文件的时候,因为没在自己的机器上操作,就使用了记事本,结果提交上去就报错了. 报错内容是 Cannot modify header information - headers already sent by (output started a ,下面是报错的界面: 当然这个sae还没有通过认证,而且只是临时测试用的,过几天就没了.这里就说一下主要原因吧,这里他说在functions.php文件输出了东西,而且这个输出在调用header()之前输出的.

一个简单的记事本编辑框的实现以及搜集的一些窗口风格的预定义

这是一个简单的记事本的窗口过程 1 WndProc proc hWnd:HWND, uMsg:UINT, wParam:WPARAM, lParam:LPARAM 2 3 LOCAL winRect:RECT 4 LOCAL editWidth:DWORD 5 LOCAL editHeight:DWORD 6 7 .IF uMsg==WM_DESTROY 8 invoke PostQuitMessage,NULL 9 .ELSEIF uMsg==WM_CREATE 10 ;创建一个编辑框 11

让Windows新建UTF-8编码的文本文件

一直以来都是使用[右键->新建->文本文件]的方法来新建一个代码文件,但是存在一个问题新建的文件是大小为0字节的.对于大小为0字节的文件文件,文本编辑器一般都使用MBCS编码,而MBCS编码不利于文件的跨系统.跨编辑器使用. 首先了解一下Windows系统[右键->新建]的机制. 1. 打开注册表 2. 展开HKEY_CLASSES_ROOT 3. 找到.txt子项,展开它,秘密就是ShellNew这个子项.所有有ShellNew子项的扩展名都会出现在[右键->新建]菜单中 4.

wex5 教程 前端UI编译原理与记事本编辑

一 前言 wex5页面,与html页面有何差异?两者之前的关系是什么?是如何完成转译的? 能否像编辑html那样用记事本来修改w页面? wex5前端UI在云部署后能否在云端进行二次编辑,而不需要在wex5编辑器里修改后再次上传?? 带着这些问题,重新认识wex5的UI设计与编译原理,有助于我们分离前端开发. 二 页面结构分析: wex5页面由w.js,css三个页面构成,具体功能与对应关系如下: 三 编译后页面结构 1 在公有云部署时,要将wex5页面进行编译,得到部署需要的Native下的ww

Windows App开发之编辑文本与绘制图形

编辑文本及键盘输入 相信大家都会使用TextBox,但如果要让文本在TextBox中换行该怎么做呢?将TextWrapping属性设置为Wrap,将AcceptsReturn属性设置为True就好咯. PasswordBox很明显就是一个密码框了,和其他的控件相比其有2个特殊之处,一个是其可以用MaxLength来控制最大的长度,一个是用PasswordChanged来捕捉密码的改名.显然比如QQ密码的MaxLength就是16位了,而PasswordChanged可以用来监测比如用户设置的密码

Windows下,gVim编辑,Python2应用程序的乱码问题

Windows,Python2环境下,当gVim配置了 set fileencoding=utf-8,则新建文件编码方式为utf-8. ○   如果代码不包含中文,或者仅包含中文注释,则utf-8编码方式可以用.只要在文件头加上 # -*- coding:utf-8 -*- 即可.可以在gVim中使用命令 :set fileencoding来查看文档编码方式,如果不是utf-8,则可以使用命令 :set fileencoding=utf-8来设置. ○   如果代码正文包含中文,则utf-8编码

【万里征程——Windows App开发】编辑文本及键盘输入

相信大家都会使用TextBox,但如果要让文本在TextBox中换行该怎么做呢?将TextWrapping属性设置为Wrap,将AcceptsReturn属性设置为True就好咯. PasswordBox很明显就是一个密码框了,和其他的控件相比其有2个特殊之处,一个是其可以用MaxLength来控制最大的长度,一个是用PasswordChanged来捕捉密码的改名.显然比如QQ密码的MaxLength就是16位了,而PasswordChanged可以用来监测比如用户设置的密码和用户名是否相同.