Current Location: Home> Latest Articles>

gitbox 2025-06-27

函数名

sapi_windows_cp_conv

适用PHP版本

PHP 4.0.0及以上版本(仅Windows平台可用)

函数说明

该函数用于在Windows平台上转换控制台输入输出编码页,主要用于在Windows命令行环境中处理不同编码页之间的转换,确保字符显示和输入的正确性。

函数语法

bool sapi_windows_cp_conv(int $in_codepage, int $out_codepage, string &$text)

参数

  • $in_codepage:输入编码页的代码页编号,例如 65001(UTF-8)、437(美国OEM)等。
  • $out_codepage:输出编码页的代码页编号。
  • $text:待转换的字符串,函数执行后会被修改为转换后的字符串,必须以引用方式传入。

返回值

成功转换时返回 true,失败时返回 false

示例

以下示例演示如何将字符串从UTF-8编码转换为当前Windows控制台的OEM编码页(如437),以确保在命令行正确显示。

示例代码

$text = "中文测试";
$in_cp = 65001; // UTF-8
$out_cp = 437; // OEM美国编码页
if (sapi_windows_cp_conv($in_cp, $out_cp, $text)) {
  echo "转换后的字符串: " . $text . "\n";
} else {
  echo "编码转换失败。\n";
}

示例代码说明

该示例中,$text字符串最初是UTF-8编码,调用sapi_windows_cp_conv函数将其转换为OEM编码(437),方便在Windows命令行窗口正确显示。函数执行后,$text变量被直接修改,打印输出时即为转换后的内容。