Heim  >  Artikel  >  php教程  >  PHP源码编码与转换:搞定首行为空和“锘匡豢”

PHP源码编码与转换:搞定首行为空和“锘匡豢”

WBOY
WBOYOriginal
2016-06-06 20:14:151276Durchsuche

总是有七弯八拐的原因让我们要将自己的PHP源码从GB2312转换到UTF8,而90%的情况下你会遇到麻烦——很有可能你已经不是第一个想将你手头的系统转换到UTF8的人,只不过前面那些人都被整郁闷了,因而你也有了这个机会。 1、编码转到UTF-8可能出现的问题 转换起

总是有七弯八拐的原因让我们要将自己的PHP源码从GB2312转换到UTF8,而90%的情况下你会遇到麻烦——很有可能你已经不是第一个想将你手头的系统转换到UTF8的人,只不过前面那些人都被整郁闷了,因而你也有了这个机会。

1、编码转到UTF-8可能出现的问题

转换起来并不麻烦,而且网上有很多工具可以用于转换,但不推荐使用工具进行批量转换,编码转换时的不确定因素太多,比如原编码,甚至系统语言等,都会引起转换的失败。

PHP源码直接转换到UTF-8后,很有可能会遇到下面的两个问题:

  • 1、首行代码为空;
  • 2、顶行有多个“锘匡豢”;
    当然,很多人已经解决了,还发了博文——不过这文章是让你郁闷的。这位用了两天时间终于解决了问题,但却舍不得与人分享一下。当然也有很靠谱的人,提供了使用VS进行解决的方法,不过搞PHP开发的还装VS的可能不多。

导致出现以上问题的原因,可以看一下维基BOM词条,解决的方法也很简单,转换成UTF8后,将BOM的问题解决即可。很多人使用UltraEdit32,这也是个方法。不过还有更方便的选择,使用Notepad++会更简单,更安全

2、使用Notepad++进行转换的方法

使用Notepad++,打开所有需要转换的文件,然后战壕菜单“Encoding(编码)”→“Convert to UTF-8 without BOM(转换为UTF-8无BOM编码格式)”,再保存文件,即可完成无恙转换。

顺便提一下,Notepad++的确是一个非常优秀的编辑器,完全可以作为你Win下的主力代码工具——它已经是win下我唯一用的代码工具了。

3、转换中需要注意的问题

转换很简单,但还需要注意以下几个方面的问题:

  • 1、HTML中HEAD部分中对编码的指定,一般可能设置了charset,将值改成UTF8即可;
  • 2、apache等web服务器中的默认编码设置,CentOS中的apache在httpd.con里修改,搜索“AddDefaultCharset”,将后面的值改为UTF-8;
  • 3、CSS文件编码的修改;
    淘宝也是用的gbk,转换起来一定又是一个折腾人的过程。

抱歉:上文中所提到的那篇“让人郁闷的文意”的博主tunpishuang,并非我小人之心所揣测的“舍不得与人分享”的人,他早已将解决的整个过程分享出来。在此,为我自己的武断之为而向您致以深深的歉意!

总是有七弯八拐的原因让我们要将自己的PHP源码从GB2312转换到UTF8,而90%的情况下你会遇到麻烦——很有可能你已经不是第一个想将你手头的系统转换到UTF8的人,只不过前面那些人都被整郁闷了,因而你也有了这个机会。

1、编码转到UTF-8可能出现的问题

转换起来并不麻烦,而且网上有很多工具可以用于转换,但不推荐使用工具进行批量转换,编码转换时的不确定因素太多,比如原编码,甚至系统语言等,都会引起转换的失败。

PHP源码直接转换到UTF-8后,很有可能会遇到下面的两个问题:

  • 1、首行代码为空;
  • 2、顶行有多个“锘匡豢”;
    当然,很多人已经解决了,还发了博文——不过这文章是让你郁闷的。这位用了两天时间终于解决了问题,但却舍不得与人分享一下。当然也有很靠谱的人,提供了使用VS进行解决的方法,不过搞PHP开发的还装VS的可能不多。
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn