首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >PHP UTF-8到Windows命令行编码

PHP UTF-8到Windows命令行编码
EN

Stack Overflow用户
提问于 2009-10-30 23:08:00
回答 4查看 21.6K关注 0票数 14

一切都在这个问题中:我有一个Php脚本,它是一个UTF-8文件。在这个脚本中,我想这样做:

代码语言:javascript
运行
复制
  <?
  echo "âêïû\n";
  ?>

如果我在Windows提示符下运行它,我会得到如下结果:

代码语言:javascript
运行
复制
C:\php>php -c C:\WINDOWS\php.ini -f mysqldump.php
âêïû
C:\php>

我找不到正确的转换方案。我也尝试过这段代码:

代码语言:javascript
运行
复制
$tab = mb_list_encodings();
foreach ($tab as $enc1) {
  foreach ($tab as $enc2) {
    $t=mb_convert_encoding("âêïû\n", $enc1, $enc2);
    if (strlen($t)<14) {
      echo $enc1." ".$enc2." = ".$t."\n";
    }
  }
}

我没有找到正确的转换!

任何帮助都将不胜感激

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-10-30 23:23:30

你让我走上了正确的道路,但有一个问题(我喜欢Windows \o/):

代码语言:javascript
运行
复制
C:\php>chcp 65001
Page de codes active : 65001
C:\php>php -c C:\WINDOWS\php.ini -f mysqldump.php | more
Mémoire insuffisante.

Mémoire insuffisante =内存不足。

如果我尝试

代码语言:javascript
运行
复制
C:\php>chcp 1252
C:\php>php -c C:\WINDOWS\php.ini -f mysqldump.php
C:\php>ééîîïïÂÂÂÂâûü

它起作用了。只有上帝知道为什么。但它是有效的。谢谢你让我走上了正确的道路!

顺便说一句,从UTF8转到命令提示符的php代码如下:

代码语言:javascript
运行
复制
  echo mb_convert_encoding($utf8_string, "pass", "auto");
票数 8
EN

Stack Overflow用户

发布于 2009-10-30 23:14:12

问题是Windows cmd线路默认情况下不支持UTF8。在此link中,如果您遵循以下内容

  1. 打开命令提示符窗口
  2. 更改窗口的特性以使用默认光栅字体以外的其他字体。
  3. 从命令提示符

运行"chcp 65001“

您应该能够输出utf8。

票数 19
EN

Stack Overflow用户

发布于 2018-11-21 01:54:01

试试另一个。它使用俄语编码,我希望它可以使用法语:

代码语言:javascript
运行
复制
class ConsoleHelper
{
    /**
     * @var boolean
     */
    private static $isEncodingSet = false;

    /**
     * @param string $message
     * @return string
     */
    public static function encodeMessage($message)
    {
        $isWindows = (DIRECTORY_SEPARATOR == '\\');
        if ($isWindows) {
            if ( ! self::$isEncodingSet) {
                shell_exec('chcp 866');
                self::$isEncodingSet = true;
            }
            $message = iconv('utf-8', 'cp866', $message);
        }
        return $message;
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1650369

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档