【问题标题】:How could I prevent escapeshellarg function from escaping accented characters?如何防止 escapeshellarg 函数转义重音字符?
【发布时间】:2020-07-06 16:27:31
【问题描述】:

PHP 原生函数 escapeshellarg 在我的机器上转义重音字符

$stringWithAccentedChar = 'Hello à è World';
echo escapeshellarg($stringWithAccentedChar);
// Output : Hello World

我尝试使用语言环境 US 或 FR、iso-8859-1 或 UTF-8。没有变化。

我认为这是设置问题,因为我使用的每个在线 php 测试器都不会转义这些字符。

如何防止删除重音字符?

【问题讨论】:

    标签: shell apache2 iso-8859-1 php-7.0


    【解决方案1】:

    当 escapeshellarg() 从 UTF-8 字符串中剥离我的非 ASCII 字符时,添加以下内容可解决问题:

    <?php
    setlocale(LC_CTYPE, "en_US.UTF-8");
    ?>
    

    来源:https://www.php.net/manual/en/function.escapeshellarg.php#99213

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-18
      • 2014-09-21
      • 1970-01-01
      • 1970-01-01
      • 2015-09-14
      • 1970-01-01
      • 1970-01-01
      • 2011-09-26
      相关资源
      最近更新 更多