也许fgets()并不是问题所在,但对我而言似乎确实如此。尝试以下最小测试设置以获取尺寸:
test.bat(Unicode):
@echo off
php test.php
test.php(Unicode):
<?php
$input = fgets(STDIN);
file_put_contents('output.txt', $input);
我运行test.bat,键入“åäö”,按Enter,然后打开output.txt。它不是说“åäö”,而是“ NULNULNUL”。
怎么了?我什至尝试在test.bat中添加“ chcp 65001”(在php test.php行之前)。如果我这样做也是一样。