发布网友
共1个回答
热心网友
一个字符有多种编码方式,编译器或直译器须知道网页设计中的程序码中的字符编码,才能正确解读程序,得知编码方式可能是使用预设字符集、程序引数、环境或全域变数设定、在网页设计的原始码中使用魔法注解(Magic comments)等。
有些编译器会使用作业系统预设编码,让开发者以为它能会聪明地分辨原始码文档编码为何,例如Java。如果在中文Windows中,用记事本编辑纯文字文档,预设用MS950编码;在Ubuntu使用vi编辑纯文字,预设使用UTF-8;Java原始码若含中文字串,编译器在Windows中预设使用MS950解读原始码,在Ubuntu中预设使用UTF-8。
如果在Windows因为中文字串包括了“?”,记事本要求转存为Unicode,而存档时选「Unicode big endian」编码,编译时,也没有指定-encoding告知文档编码为UTF-16,就会出错。