PHP _php techniques for using ESCAPESHELLARG in Chinese filtering

Source: Internet
Author: User

This paper analyzes the solution of the Chinese filtering in PHP when using Escapeshellarg. Share to everyone for your reference. Specifically as follows:

First, the question:

The same code, found through localhost/index.php access, and in the shell through PHP./index.php run the results are different.

A Linux program needs to be executed by Shell_exec in the program, and its input comes from Echo, which is:

 

Second, the solution:

And this $str may contain Chinese. At first I thought it was some_cmd himself to filter out Chinese, and later found that it was escapeshellarg problem.
Seemingly appear this problem is not much, after the query and test found that the shell and the Apache PHP-CGI operating environment caused by different.
Add in PHP:

SetLocale (Lc_ctype, "UTF8", "en_US.") UTF-8 ");

It's normal!

I hope this article will help you with the PHP program design.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

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.