本文目录一览:
- 1、php修改了网页header为gb2312后,html标签里面的文字又会乱码?怎么办。
- 2、PHP文件插入header("Content-type: text/html; charset=utf-8"); 报错
- 3、PHP 输出简单的中文 乱码问题
php修改了网页header为gb2312后,html标签里面的文字又会乱码?怎么办。
编码不是乱设置的,应当遵循这样一个原则:文件保存的编码格式、header设置的输出编码格式、数据库存储使用的编码三者保持一致。
如果数据库编码是GB2312,请修改网页代码的编码也为GB2312,且网页header设置为gb2312,或者三者全部设置为UTF-8
PHP文件插入header("Content-type: text/html; charset=utf-8"); 报错
这是因为你的PHP文件不是以utf-8格式保存的,不要使用记事本来编辑你的PHP文件,可以使用notepad++来更改你的PHP文件的格式,步骤如下:
一、下载并安装notepad++,可以通过百度搜索找到notepad++的官网下载安装包并安装。
二、使用notepadd++打开你的PHP文件。即通过鼠标右键你的PHP文件并选择edit with notepad++。
三、打开你的PHP文件后,在菜单栏中选择编码,并选择使用utf-8编码,最后保存文件即可。
扩展资料
记事本中的utf-8格式
记事本在使用utf-8格式保存文件时,会使用utf-8有BOM编码。而我们通常所指的utf-8是指无BOM编码。这就是我们要用notepad++来将文件更改为utf-8格式的原因。
对于UTF-8来说,BOM标记的有无并不是必须的,是可选的,因为UTF8字节没有顺序,不需要标记.
也就是说一个UTF-8文件可能有BOM,也可能没有BOM。
微软在自己的UTF-8格式的文本文件之前加上了EF BB BF三个字节, windows上面的notepad等程序就是根据这三个字节来确定一个文本文件是ASCII的还是UTF-8的, 然而这个只是微软暗自作的标记, 其它平台上不一定会对UTF-8文本文件做个这样的标记。
微软的一些软件会做这种检测,但有些软件不做这种检测, 而把它当作正常字符处理。这就造成了乱码问题。
参考资料来源:百度百科-字符编码
PHP 输出简单的中文 乱码问题
解决php中中文乱码问题方法
php文件本身的编码与网页的编码应匹配
a. 如果欲使用gb2312编码,那么php要输出头:header(“Content-Type: text/html; charset=gb2312"),静态页面添加meta http-equiv="Content-Type" content="text/html; charset=gb2312",所有文件的编码格式为ANSI,可用记事本打开,另存为选择编码为ANSI,覆盖源文件。
b. 如果欲使用utf-8编码,那么php要输出头:header(“Content-Type: text/html; charset=utf-8"),静态页面添加meta http-equiv="Content-Type" content="text/html; charset=utf-8",所有文件的编码格式为utf-8。保存为utf-8可能会有点麻烦,一般utf-8文件开头会有BOM,如果使用session就会出问题,可用editplus来保存,在editplus中,工具-参数选择-文件-UTF-8签名,选择总是删除,再保存就可以去掉BOM信息了。
php本身不是Unicode的,所有substr之类的函数得改成mb_substr(需要装mbstring扩展);或者用iconv转码。
如果你的HTML文件文件出现了乱码问题,那么你可以在head标签里面加入UTF8编码(国际化编码):UTF-8是没有国家的编码,也就是独立于任何一种语言,任何语言都可以使用的。
扩展资料:
解决PHP 输出简单的中文 乱码问题的其他方法:
在php的echo前面加入header("Content-Type:text/html;charset=gb2312")
把meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /中的UTF-8改成gb2312
参考资料:
百度百科-PHP