为了账号安全,请及时绑定邮箱和手机立即绑定

如何将 SQL Server 代理作业创建的文件的编码更改为 UTF-8?

如何将 SQL Server 代理作业创建的文件的编码更改为 UTF-8?

PHP
幕布斯6054654 2022-05-27 16:12:02
我正在尝试创建一个日常作业来查询我的 SAP db (SQL Server 17) 的项目库存,将结果保存在 .txt 文件中,并将其 ftp 到我的网站服务器,在那里我将使用 PHP 对其进行解析,并且使用它来更新网站 MySQL 数据库上的库存水平。我在 sql server agent 上创建了一个作业,它将运行以下查询:SELECTCast (ItemCode as varchar(20)) + '##'+Cast (OnHand as  varchar(20))+ '@@' AS Item_Stock FROM OITWWHERE OITW.WhsCode='01' AND OnHand>0结果输出到一个 .txt 文件,如下所示:以上所有工作都很好。问题是文件没有保存为 UTF-8,所以在上传到服务器后(通过 ftp),任何类型的 PHP 解析(explode、substr 等)都会失败。所以我正在寻找一种强制将 txt 文件保存为 UTF-8 的方法,或者一种让 PHP 读取文件并能够将其解析为字符串的方法。我应该补充一点:OnHand 和 ItemCode 这两个字段都是数字的。OnHand 是库存字段,因此显然只有数字。ItemCode 可能包含一些非 ASCII 字符,但如果有这样的项目,它们无论如何都无关紧要;我这样说是为了强调在转换编码时不必担心数据丢失,因为数字是任何编码中的数字(我认为......)。任何帮助将不胜感激。
查看完整描述

1 回答

?
临摹微笑

TA贡献1982条经验 获得超2个赞

你不能,这是简单的答案。


更详细的答案是在您的工作中添加一个运行 Powershell 脚本的进一步步骤。像这样的东西应该工作:


$Path = "C:\{the rest of the file path in your image}\office_stock.txt"

$Content = Get-Content -Path $Path

Set-Content -Path $Path -Value $Content -Encoding UTF8


查看完整回答
反对 回复 2022-05-27
  • 1 回答
  • 0 关注
  • 450 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信