windows 7 php 7.1 命令行 執行 中文文件名 的PHP文件

在PHP5.6時代直接執行 php

php.exe  文件.php windows

是沒有的這個問題編碼

在win下的命令行中 活動代碼頁命令.net

 chcp   命令行

修改utf-8

chcp 936  //gbkget

chcp 65001 //utf-8it

可是在php 7.1下 執行php.exe 首先會修改命令行的 活動代碼頁變量

這是一個自動行爲 程序會自帶一個 chcp 65001 而後你的php文件亂碼

做爲參數傳遞的時候 若是有中文字符 那麼抱歉程序內部亂碼了就

找不到文件了關於這個問題 在百度搜幾乎無解 因而在php官網的

bug反饋裏面翻到這麼一頁

https://bugs.php.net/bug.php?id=73716&edit=2

大概在[2016-12-12 21:30 UTC] ab@php.net 

解決方案:

打開php.ini 搜索 internal_encoding而後改成 internal_encoding = "cp936"

default_charset="UTF-8"  這一項應該是默認的 若是沒有就加上

這樣就對應了簡體中文的windows環境 不過這個方案的缺點就是寫的很死

若是把PHP打包發佈的話 大概是隻能在簡中的系統下執行

改了這個之後,PHP文件仍是用UTF-8編碼來寫

不過輸入路徑做爲參數 也就是argv變量裏面的內容 記得轉碼成UTF-8

相關文章
相關標籤/搜索