UTF8编码的PowerShell脚本中文乱码的解决方法

1.问题现象

使用VSCode(已安装Code Runner扩展)编写含有中文字符串的ps1脚本之后运行收到各种错误
例如:字符串缺少终止符: "。表达式或语句中包含意外的标记“}”。语句块或类型定义中缺少右“}”。

使用快捷键Ctrl+Alt+N触发Run Code
在这里插入图片描述

在这里插入图片描述

2.问题验证

使用Window PowerShell ISE 打开,发现中文乱码并且对应位置有红色波浪线

在资源管理器中找到该脚本文件,右键编辑,使用Window PowerShell ISE打开
在这里插入图片描述

3.问题原因

PowerShell错误的解析 UTF8中文字符串 导致字符串尾部的引号被吞,引号都不成对了,自然报什么错都有可能

4.解决方法

将中文保存为base64躲避PowerShell解析器,运行时自动生成中文

# 将中文转换为base64字符串(在脚本外)
# [Convert]::ToBase64String([Text.Encoding]::Unicode.GetBytes('太阳'))
# 结果:Klkzlg==
# 将base64字符串恢复回中文(在脚本内)
# [Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('Klkzlg=='))

在这里插入图片描述

5.修改后的代码

# Write-Output "疯狂星期四"
$text = [Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('r3XCch9mH2fbVg=='))
Write-Output $textwhile ($true) {if ($true) {# Write-Output "古力娜扎迪丽热巴玛尔扎哈。"$text = [Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('5FObUhxaTmLqjz1O7XD0XZtzFFxOYshUAjA='))Write-Output $text}else {# Write-Output "雷迪嘎嘎。"$text = [Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('95bqjw5WDlYCMA=='))Write-Output $text}break
}

正常运行截图:
在这里插入图片描述

6.其他

勾选Beta 版:使用 Unicode UTF-8 提供全球语言支持并重启电脑。
这什么解决方案?别人电脑其他软件乱码了你要帮忙取消勾选,你的脚本乱码了,然后你再给他勾上,你睡他家得了呗,一乱码你就给他勾一勾。





在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/447600.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

YOLO11 实例分割 | 导出ONNX模型 | ONNX模型推理

本文分享YOLO11中,从xxx.pt权重文件转为.onnx文件,然后使用.onnx文件,进行实例分割任务的模型推理。 用ONNX模型推理,便于算法到开发板或芯片的部署。 备注:本文是使用Python,编写ONNX模型推理代码的 目…

HDMI Type B 连接器的引脚分配与接口尺寸

连接器引脚分配 B 型连接器引脚分配: 连接器接触顺序 连接器接口尺寸 B 型插座接口尺寸: B 型插头接口尺寸: B 型插座与插头配合状态: 微信公众号:

CreateEvent 事件对象可以用来在线程之间同步操作 信号事件

CreateEvent 是一个 Windows API 函数,用于创建或打开一个事件对象,事件对象可以用来在线程之间同步操作。该函数的签名如下: HANDLE CreateEvent(LPSECURITY_ATTRIBUTES lpEventAttributes, // 安全属性,可以为 NULLBOOL bManu…

使用XML实现MyBatis的基础操作

目录 前言 1.准备工作 1.1⽂件配置 1.2添加 mapper 接⼝ 2.增删改查操作 2.1增(Insert) 2.2删(Delete) 2.3改(Update) 2.4查(Select) 前言 接下来我们会使用的数据表如下: 对应的实体类为:UserInfo 所有的准备工作都在如下文章。 MyBatis 操作…

React国际化中英文切换实现

目录 概况 安装 文件结构 引入 使用 正常使用 传参使用 概况 react-intl-universal 是一个国际化库,专门为 React 应用提供多语言支持。与 React 原生的 react-intl 相比,react-intl-universal 支持从远程服务器加载语言包,动态切换语…

MySQL数据的导入

【图书推荐】《MySQL 9从入门到性能优化(视频教学版)》-CSDN博客 《MySQL 9从入门到性能优化(视频教学版)(数据库技术丛书)》(王英英)【摘要 书评 试读】- 京东图书 (jd.com) MySQL9数据库技术_夏天又到了…

简单使用webpack

下载依赖&#xff1a;npm install webpack webpack-cli --save-dev新建一个目录app。加入html&#xff1a; <html><head><meta charset"utf-8"></head><body><script type"text/javascript" src"./dist/main.js&quo…

05 django管理系统 - 部门管理 - 修改部门

04我们已经实现了新增部门的功能&#xff0c;下面开始修改部门模块的实现。 按道理来说&#xff0c;应该是做成弹框样式的&#xff0c;通过ajax悄咪咪的发数据&#xff0c;然后更新前端数据&#xff0c;但是考虑到实际情况&#xff0c;先用页面跳转的方式实现&#xff0c;后面…

c到c++衔接速成

温馨提示&#xff1a;本篇文章乃博主多次学习后的总结&#xff0c;其中一些专业名词的概念不会做介绍&#xff0c;本篇文章只解决实操问题 c到c中&#xff0c;语法上得到了许多升级&#xff0c;那么哪些地方升级了&#xff0c;我们来快速复习一下 目录 头文件的升级 命名空间…

Android基于gradle task检查各个module之间资源文件冲突情况

做组件化开发的时候&#xff0c;我们经常会遇到各个不同的module之间资源文件冲突的问题&#xff0c;运行也不报错&#xff0c;但是会出现覆盖的问题&#xff0c;导致运行之后发送错误的效果。 所以我们需要利用一个gradlke 脚本task&#xff0c;来自动化检查资源文件冲突。 …

利用 OBS 推送 WEBRTC 流到 smart rtmpd

webrtc whip 推流 & whep 拉流简介 RFC 定义 通用的 webrtc 对于 SDP 协议的交换已经有对应的 RFC 草案出炉了。这就是 WHIP( push stream ) & WHEP ( pull stream ) . WHIP RFC Link: https://www.ietf.org/archive/id/draft-ietf-wish-whip-01.html WHEP RFC Link:…

IRP读写函数

驱动代码&#xff1a; #include <ntddk.h>#define DEVICE_NAME L"\\device\\MyDricer1" //设备对象名称 #define LINK_NAME L"\\dosdevices\\Goose" //符号链接名称VOID UnDirver(PDRIVER_OBJECT pDriverObj) {UNICODE_STRING uLinkName RTL_CONST…

04_实现调度执行

什么是可调度&#xff1f;所谓可调度&#xff0c;指的是当 trigger 动作触发副作用函数重新执行的时候&#xff0c;有能力决定副作用函数执行的时机、次数以及方式 副作用函数执行方式 示例代码&#xff1a; const obj { a: 1 } const objProxy new Proxy(obj, /* ... */)…

02.顺序表、链表简述+对比

目录 一、线性表 二、顺序表 三、链表 四、顺序表和链表的区别 一、线性表 线性表&#xff08;linear list&#xff09;是n个具有相同特性的数据元素的有限序列&#xff08;相同特性指都为整型int、字符型char或其它类型&#xff09;。 线性表是一种在实际中广泛使用的数据…

雷池社区版配置遇到问题不要慌,查看本文解决

很多新人不太熟悉反向代理&#xff0c;所以导致配置站点出现问题 配置问题 记录常见的配置问题 配置后攻击测试没有拦截记录 检查访问请求有没有真实经过雷池 有很多新人配置站点后&#xff0c;真实的网站流量还是走的源站&#xff0c;导致雷池这边什么数据都没有 配置后…

软考《信息系统运行管理员》- 5.2 信息系统数据资源例行管理

5.2 信息系统数据资源例行管理 文章目录 5.2 信息系统数据资源例行管理数据资源例行管理计划数据资源载体的管理存储介质借用管理存储介质转储管理存储介质销毁管理 数据库例行维护健康检查数据库日志检查数据库一致性检查 数据库监测管理数据库备份与恢复数据库备份与恢复数据…

三子棋(C 语言)

目录 一、游戏设计的整体思路二、各个步骤的代码实现1. 菜单及循环选择的实现2. 棋盘的初始化和显示3. 轮流下棋及结果判断实现4. 结果判断实现 三、所有代码四、总结 一、游戏设计的整体思路 &#xff08;1&#xff09;提供一个菜单让玩家选择人机对战、玩家对战或者退出游戏…

生成式人工智能助长更复杂的网络攻击

网络安全公司 Keeper Security 表示&#xff0c;尽管黑客使用生成式人工智能使网络威胁更加频繁、更加复杂、更难以检测&#xff0c;但许多企业表示对此并未做好准备。 然而&#xff0c;据该公司表示&#xff0c;尽管各组织需要加强防御能力&#xff0c;但他们已经实施的许多基…

从调用NCCL到深入NCCL源码

本小白目前研究GPU多卡互连的方案&#xff0c;主要参考NCCL和RCCL进行学习&#xff0c;如有错误&#xff0c;请及时指正&#xff01; 内容还在整理中&#xff0c;近期不断更新&#xff01;&#xff01; 背景介绍 在大模型高性能计算时会需要用到多卡&#xff08;GPU&#xf…

接口性能测试,这个还真有用啊。

一、概述 性能测试按照不同视角&#xff0c;可以分为以下几类&#xff1a; a. 用户视角的性能 用户角度感受到的网站响应速度的快和慢。从用户在浏览器输入网址/打开应用&#xff0c;到整个页面呈现给用户的耗时。包含了用户端发送请求&#xff0c;服务端收到并执行请求&…