php使用exec执行unzip解压命令 文件名里的中文成了utf-8字符串
Jun 06, 2016 pm 08:14 PM
php通过exec执行unzip来解压文件
为什么解压出来的文明名中文都是类似utf-8字符的格式
比如
2064 - 副本.mp4 解压出来成了 2064 - #U526f#U672c.mp4
但是这个命令通过ubuntu终端来执行 解压出来就正常
请教大神如何解决啊?
回复内容:
php通过exec执行unzip来解压文件
为什么解压出来的文明名中文都是类似utf-8字符的格式
比如
2064 - 副本.mp4 解压出来成了 2064 - #U526f#U672c.mp4
但是这个命令通过ubuntu终端来执行 解压出来就正常
请教大神如何解决啊?
解决了
在nginx下通过php执行exec的时候
<code>echo exec('locale charmap') </code>
会显示编码设置成了:
<code>ANSI_X3.4-1968 </code>
终端里local charmap显示的却是utf-8
甚至php cli运行php显示也是utf-8
估计应该是nginx的哪些配置导致的
在php代码中设置一下编码就好了
<code>$locale = 'zh_CN.UTF-8'; setlocale(LC_ALL, $locale); putenv('LC_ALL='.$locale); </code>
具体原理嘛 就期待达人来解释了
可以设置php文件的源码为utf-8试试:header("Content-type: text/html; charset=utf-8");

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian

Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP
