PHP 引起乱码,强制 UTF-8 如何解决?

2017-03-10 18:04:37 +08:00
 pine

今天整理以前写的代码,不少是 gbk 写的,之前也没问题,但是现在出问题了,系统 windows10,wamp ,文件 gbk , meta 指定 gbk ,但还是按 utf8 去显示,其中如果为静态文件, html 或者 txt 都正常,但是 php 就出错,猜测是 apache 或者 php 的原因,但在 apache 中没找到相关代码,在 php.ini 中找到如下代码 default_charset = "utf-8",改成 gbk ,可以正常显示,注释这行代码,又变成 utf-8 ,也就是说,还有文件指定了 header 里的 Content-Type:text/html; charset=UTF-8 ,请问怎么正常显示?由 html 代码的 charest 解释文件编码?而不加干涉呢?

4687 次点击
所在节点    PHP
13 条回复
ningcool
2017-03-10 19:21:33 +08:00
apache 中的配置文件里
pine
2017-03-10 19:53:40 +08:00
@ningcool 我用 charset 河 utf 用关键词搜索过了,并没有,而且.html 文件不受影响,只有.php 文件受影响。
lslqtz
2017-03-10 19:55:32 +08:00
default_charset = "utf-8",改成 gbk
建议改用 ini_set
zhaoto
2017-03-10 19:56:46 +08:00
应该要把目录下*.php 文件格式全部转换 UTF-8 。
zhaoto
2017-03-10 20:02:05 +08:00
光指定 charset=UTF-8 没有用,一定要转换文件格式的。
pine
2017-03-11 09:06:08 +08:00
@lslqtz 我说了,改成 gbk 当然正常,但是 utf8 文件又出错了
@zhaoto 可能是我描述的混乱,没让你明白我的意思,这个网站是用 gbk 做的,而且没有任何问题,但是 wamp 却把当作 utf8 了,不是我的文档出错了,是环境出错了,明白了吧,我想知道是环境哪里出错了。
pine
2017-03-12 08:31:24 +08:00
@lslqtz 仔细看了下说明, default_charset = "",设为空值,即为禁止发送编码。
=====================================================

; By default, PHP will output a character encoding using
; the Content-type: header. To disable sending of the charset, simply
; set it to be empty.
;
; PHP's built-in default is text/html
; http://php.net/default-mimetype
;default_mimetype = "text/html"

; PHP's default character set is set to UTF-8.
; http://php.net/default-charset
default_charset = ""
lslqtz
2017-03-12 12:13:32 +08:00
@pine 那你先批量把文件转成 utf8 再把这些统一设置不就好了。。
pine
2017-03-12 18:16:15 +08:00
文件又没错,为什么要改?发给你个 doc 文件,结果关联成 pdf 了,你就要转成 pdf 再看?
pine
2017-03-12 18:18:46 +08:00
我已经解释的很清楚了,能不能关闭问题?
log4geek
2017-03-18 12:55:36 +08:00
其实,无时无刻都使用 UTF8 ,是个好习惯。。
PHP 入门学习之网站处处使用使用 UTF8 编码,传送门
http://log4geek.cc/2017/03/php%e5%85%a5%e9%97%a8%e5%ad%a6%e4%b9%a0%e4%b9%8b%e5%a4%84%e5%a4%84%e4%bd%bf%e7%94%a8%e4%bd%bf%e7%94%a8utf8%e7%bc%96%e7%a0%81/
pine
2017-03-18 20:49:01 +08:00
@log4geek 看你中毒不浅。。。
log4geek
2017-03-19 09:17:12 +08:00
@pine 都是踩坑踩出来的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/346530

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX