NotePad++ 调试PHP代码中文显示乱码

时间:2021-10-03 11:29:59

最近在NotePad++上调试PHP代码,按照示例代码进行调试,结果在显示中文的时候显示一堆乱码,于是上网百度,有2种方法可以解决:

按调试方式有2种方法:

1、菜单插件-NppExec:

“插件”-“NppExec”-"Console Output/Input enonding"

默认方式显示为OEM(DOS),此处将Console Output改为UTF-8

NotePad++ 调试PHP代码中文显示乱码

注:该NppExec插件需要通过菜单“插件”-“Plugin Manager”-"Show Plugin Manager"按照关键字“NppExec”获取

2、菜单运行-“运行”

此种方式需要修改控制台的编码方式,默认的编码方式可以通过右键控制台上边框查看,我的显示GBK

NotePad++ 调试PHP代码中文显示乱码

用chcp命令可以修改控制台的编码方式:

chcp 65001 就是换成UTF-8代码页

chcp 936 可以换回默认的GB

详细可以参考如下链接

http://blog.chinaunix.net/uid-25508301-id-3081930.html

当然要顺利运行还需要填入以下代码,以我运行php代码为例:

cmd /k D:\YourPhpDir\php.exe "$(FULL_CURRENT_PATH)" & ECHO. & PAUSE & EXIT

浏览器运行调试方式,我的环境是win 7+NodePad++ 7.2

这种方式需要在本地Web服务器中先新建一个网站用于指向开发的PHP程序目录,我本地的是Win 7+IIS+PHP Manager,具体如何配制可以参照我之前的博客

NotePad++ 调试PHP代码中文显示乱码

然后在每次运行的时候在运行中输入如下:

http://localhost:90/index.php

此即是调用运行地址

我的示例代码是:

<?php
//设置打开的目录是D盘
$dir = "D:/";
//判断是否是文件夹,是文件夹
if (is_dir($dir)) {
if ($dh = opendir($dir)) {
//读取到最后返回false,停止循环
while (($file = readdir($dh)) !== false) {
echo "文件名为:". mb_convert_encoding($file,'UTF-8','GB2312')." , 文件的类型是: " . filetype($dir . $file) . "<br />";
}
closedir($dh);
}
}
?>

最终的运行结果:

NotePad++ 调试PHP代码中文显示乱码

其中需要注意的是代码中的mb_convert_encoding($file,'UTF-8','GB2312')函数,作用是在Windows环境下将UTF-8编码转为GB2312,显示文件路径中的中文

liunx环境下也有一个对应的函数

好了暂且先写到这里,欢迎大家多多交流