Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >为什么Windows控制台会默默地删除任何非ASCII输入字符?我该如何修复/绕过它呢?

为什么Windows控制台会默默地删除任何非ASCII输入字符?我该如何修复/绕过它呢?
EN

Stack Overflow用户
提问于 2019-11-10 18:02:59
回答 1查看 155关注 0票数 0

我用一个包含以下内容的start.bat启动PHP CLI脚本:

代码语言:javascript
运行
AI代码解释
复制
@echo off
chcp 65001 > NUL
php engine.php

"chcp 65001“部分专门让它使用Unicode (但它没有)。

engine.php包含:

代码语言:javascript
运行
AI代码解释
复制
<?php

    $input = fgets(STDIN);
    var_dump($input);

当我运行start.bat时,它会打开一个运行engine.php的控制台:

代码语言:javascript
运行
AI代码解释
复制
åäölöäå
string(9) "   l
"
Press any key to continue . . .

如您所见,它去掉了除"l“之外的所有字符。这意味着我的脚本依赖于我粘贴文本作为输入中断,这完全削弱了我的工作流。我需要能够粘贴我复制到我的脚本中的任何字符串,并让它完美地存活下来。

这一切为什么要发生?我们能做些什么来绕过它?

请不要告诉我使用PowerShell。这是一个血淋淋的破烂不堪的烂摊子,即使我强迫它运行,它的行为似乎也是一样的(我再也不想处理这种情况了)。此外,我还没有Windows终端,所以我至少还要再用几年的经典游戏机。

EN

回答 1

Stack Overflow用户

发布于 2020-04-03 21:51:03

在Windows 10和PHP 7.2中也遇到了同样的问题。

解决了从fgets()切换到readline()函数的问题。

结合chcp 65001设置的Unicode代码页,收到的输入现在是有效的UTF8。不需要转换。

https://www.php.net/manual/en/function.readline.php

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58791490

复制
相关文章
当 Kubernetes 集群证书被全部删除后,你该如何修复它?
Kubernetes 是一个很牛很牛的平台,Kubernetes 的架构可以让你轻松应对各种故障,今天我们将来破坏我们的集群、删除证书,然后再想办法恢复我们的集群,进行这些危险的操作而不会对已经运行的服务造成宕机。
PHP开发工程师
2021/05/17
1.7K0
当 Kubernetes 集群证书被全部删除后,你该如何修复它?
为什么我的 Mac 运行缓慢以及如何使用CleanMyMac X修复它
近些年伴随着苹果生态的蓬勃发展,越来越多的用户开始尝试接触Mac电脑。然而很多人上手Mac后会发现,它的使用逻辑与Windows存在很多不同,而且随着使用时间的增加,一些奇奇怪怪的文件也会占据有限的磁盘空间,进而影响使用。
用户9208731
2023/02/27
2.8K0
为什么我的 Mac 运行缓慢以及如何使用CleanMyMac X修复它
通杀Windows的Badlock是啥?该如何修复?
Badlock Bug 2016年4月12日,Windows 和 Samba 中揭露出了一个非常关键的安全漏洞请更新你的系统。我们非常确定黑客很快就会利用这个漏洞进行攻击。 微软和 Samba 团队的
FB客服
2018/02/07
1.5K0
通杀Windows的Badlock是啥?该如何修复?
面试问到IOC我该如何回答呢?
相信在面试中,只要问到Spring,基本都会抛出一个问题,说说你对Spring IOC理解吧?虽然在日常的开发经常会使用到,但是要回答起来,并不简单。大脑经过简单的头脑风暴后,蹦出了控制反转、依赖注入这样的词语。显然这些并不是面试官想听的。
不一样的科技宅
2020/09/18
7780
面试问到IOC我该如何回答呢?
为什么坐车会晕车呢
我是一个坐车经常晕车的人,特别是在车里看手机的时候,感觉很难受。今天正好看到了卓克老师对晕车的解读,我总结了几个关键点,分享给大家。先说结论,每个人都会晕车,就是程度不一样。不要在车上玩手机、看书。这些行为会加重你的不适感。最好的解决方式是上车就睡觉或者集中注意力听音频,光闭眼也无法避免晕车。另外就是豪车更容易晕。
石云升
2022/07/29
5290
为什么坐车会晕车呢
C#如何删除字符串中任何位置的空格?
你或许知道你能使用String.Trim()方法,去除字符串的头和尾的空格。不幸运的是,这个Trim方法不能去除字符串中间的C#空格。
高一峰
2020/09/22
11.9K0
C#如何删除字符串中任何位置的空格?
他/她/它 | 人工智能:我该如何称呼你?
选你喜欢的:“bleep”或者“bloop”。 这周末,我在郊区的马里兰街道迷路了,我求助于导航,希望它将我引回高速公路上。但是导航也不知道我们在朝哪个方向走,然后她要我做一些无厘头的操作。“事实上,不要听Siri——她不知道我们在哪。”在乘客位置的朋友对我说。 将苹果的人工智能(AI)助手称为“她”,感觉很自然,因为Siri的女性声音。虽然Siri本身会告诉你她非男非女——“我是超出人类性别意义的一种存在”——她相对自然的声音发出了一个柔和的回复,而不是一个生硬的机器人声音。 在每个iPhone中有一个选
新智元
2018/03/13
2.1K0
为什么网站排名高,而没有任何流量呢?
在做SEO的过程中,相信每一个SEO人员都会有这样的经历,那就是我们每天都在为思考网站排名相关问题,而绞尽脑汁。
蝙蝠侠IT
2021/06/08
4690
为什么网站排名高,而没有任何流量呢?
怎么删除cdn缓存?大家为什么要删除它?
关于cdn缓存,相信大部分的人都不会对它感到陌生,为了能够提升网速,所以在前期,人们单独进行了cdn缓存。这项工作的落实确实可以产生相当不错的作用,可是没过多久之后,却发现效用不大,这时候便需要将它删除,重新设置,怎么删除cdn缓存一直是一个难题。
用户8715145
2021/09/18
5.5K0
怎么删除cdn缓存?大家为什么要删除它?
删除namespace为什么会Terminating?
当我们删除集群中的某个namespace之后,有时候namespace并没有按照我们的期望正常删除,而是一直卡在Terminating状态。本文主要讨论下Terminating状态发生的可能性以及解决办法。
keke.
2021/03/16
10K0
当代 Web 的 JSON 劫持技巧
Benjamin Dumke-von der Ehe 发现了一种有趣的跨域窃取数据的方法。使用JS 代理,他能够创建一个 handler,可以窃取未定义的 JavaScript 变量。这个问题在 FireFox 浏览器中似乎被修复了,但是我发现了一种对 Edge 进行攻击的新方式。虽然 Edge 好像是阻止分配 window.__proto__ 的行为,但是他们忘了 Object.setPrototypeOf 这个方法。利用这个方法,我们可以用代理过的 __proto__来覆盖 __proto__ 属性。就
Seebug漏洞平台
2018/03/30
2.4K0
java控制台读取多字符输入输出
每次调用 read() 方法,它从输入流读取一个字符并把该字符作为整数值返回。 当流结束的时候返回 -1。该方法抛出 IOException。
await
2021/09/09
9840
MeterPwrShell:绕过AMSI,绕过防火墙,绕过UAC和绕过任何AV
生成Powershell Oneliner的自动化工具,该工具可以在Metasploit,Bypass AMSI,Bypass防火墙,Bypass UAC和Byby AV上创建Meterpreter Shell。
Khan安全团队
2021/05/08
1.1K0
MeterPwrShell:绕过AMSI,绕过防火墙,绕过UAC和绕过任何AV
DNS泛解析与内容投毒
http://w00tsec.blogspot.com/2014/03/wilcard-dns-content-poisoning-xss-and.htm
用户1467662
2019/04/19
1.6K0
DNS泛解析与内容投毒
如何告诉手机我是“我”呢?
2013年,苹果机iphone5S让指纹识别在手机上普及,它告诉各大手机厂商,指纹可以这么玩。同样苹果它也让指纹识别从手机上消失。譬如,今年苹果就推出了支持面部识别的iPhone X,而这款产品不仅带来了黑科技,也让解锁技术得到进一步的变革。当然,更值得一提的是,iPhone X的面部识别技术现在也已成为Android手机厂商所追求的潮流风向。 那老派今天就跟大家讲讲身份识别的几大类型。 1.指纹识别 指纹识别即指通过比较不同指纹的细节特征点来进行鉴别。指纹识别技术涉及图像处理、模式识别、计算机视觉、数学形
企鹅号小编
2018/01/18
1.1K0
如何告诉手机我是“我”呢?
[PHP] PHP7.4.1安全版本更改日志
Bcmath: 修复了错误#78878(bc_shift_addsub中的缓冲区下溢)。 (CVE-2019-11046)。 核心: 修复了错误#78862(Windows上的null字节后,link()默默地截断)。 (CVE-2019-11044)。
唯一Chat
2020/04/08
9520
渗透知识总结
web应用程序没有对输入的数据进行安全过滤,或者过滤不全面,导致攻击者通过将恶意的SQL语句插入到应用的输入参数中,再在后台SQL服务器上解析执行进行的攻击。
LuckySec
2022/11/02
2.6K0
商城网站存在漏洞该如何修复
据SINE安全监测中心数据显示,中国智能手机制造商‘一加’,也叫OnePlus,被爆出用户订单信息被泄露,问题的根源是商城网站存在漏洞。国内网站安全公司通知一加手机商开始后,漏洞就开始暴露了,受影响的用户已经收到邮件通知,以及短信通知。
网站安全专家
2019/12/03
1.2K0
浅析Punycode钓鱼攻击
网络钓鱼(Phishing,与钓鱼的英语fishing发音相近,又名钓鱼法或钓鱼式攻击)是通过大量发送声称来自于银行或其他知名机构的欺骗性垃圾邮件,意图引诱收信人给出敏感信息(如用户名、口令、帐号ID 、 ATM PIN 码或信用card详细信息)的一种攻击方式。
FB客服
2021/01/08
2K0
浅析Punycode钓鱼攻击
Python_输入字符串使,每个字符的ASCII用列表输出
#输入字符串使,每个字符的ASCII用列表输出 def turn(s): L = [] for i in s: L.append(chr(ord(i)-32)) #先将字符通过ord函数转换成ASCII码,然后+32从大写变成小写(小变大-32),再通过chr函数转换成字符) return L def main(): s = str(input("请输入待转换的小写字母:")) print(turn(s)) main() ''' 例1、大小写字母转换
瑞新
2020/07/07
1.8K0

相似问题

为什么这个函数版的QuickSort会崩溃?我该如何修复它呢?

12

do,我该如何绕过它?

10

为什么在WPF中使用页面时控件会变得更大?我该如何修复它呢?

10

fgetcsv()使用diacritics (即非ASCII)删除字符-如何修复?

14

为什么JavaCC不在我的mac上工作,我该如何修复它呢?

14
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文