windows 7 php 7.1 命令列 執行 中文檔案名稱 的PHP檔案

來源:互聯網
上載者:User

標籤:文字   class   編碼   一個   修改   輸入   user   div   變數   

在PHP5.6時代直接執行 

php.exe  檔案.php 

是沒有的這個問題

在win下的命令列中 活動字碼頁命令

 chcp   

修改

chcp 936  //gbk

chcp 65001 //utf-8

但是在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] [email protected] 

解決方案:

開啟php.ini 搜尋 internal_encoding然後改為 internal_encoding = "cp936"

default_charset="UTF-8"  這一項應該是預設的 如果沒有就加上

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

如果把PHP打包發布的話 大概是只能在簡中的系統下執行

改了這個以後,PHP檔案還是用UTF-8編碼來寫

不過輸入路徑作為參數 也就是argv變數裡面的內容 記得轉碼成UTF-8

 

windows 7 php 7.1 命令列 執行 中文檔案名稱 的PHP檔案

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.