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

我正在尝试创建一个日常作业来查询我的 SAP db (SQL Server 17) 的项目库存,将结果保存在 .txt 文件中,并将其 ftp 到我的网站服务器,在那里我将使用 PHP 对其进行解析,并且使用它来更新网站 MySQL 数据库上的库存水平。


我在 sql server agent 上创建了一个作业,它将运行以下查询:


SELECT

Cast (ItemCode as varchar(20)) + '##'+

Cast (OnHand as  varchar(20))+ '@@' AS Item_Stock 

FROM OITW

WHERE OITW.WhsCode='01' AND OnHand>0

结果输出到一个 .txt 文件,如下所示:

http://img2.mukewang.com/629087e70001376b06890618.jpg

以上所有工作都很好。

问题是文件没有保存为 UTF-8,所以在上传到服务器后(通过 ftp),任何类型的 PHP 解析(explode、substr 等)都会失败。

所以我正在寻找一种强制将 txt 文件保存为 UTF-8 的方法,或者一种让 PHP 读取文件并能够将其解析为字符串的方法。

我应该补充一点:OnHand 和 ItemCode 这两个字段都是数字的。OnHand 是库存字段,因此显然只有数字。ItemCode 可能包含一些非 ASCII 字符,但如果有这样的项目,它们无论如何都无关紧要;我这样说是为了强调在转换编码时不必担心数据丢失,因为数字是任何编码中的数字(我认为......)。

任何帮助将不胜感激。


幕布斯6054654
浏览 451回答 1
1回答

临摹微笑

你不能,这是简单的答案。更详细的答案是在您的工作中添加一个运行 Powershell 脚本的进一步步骤。像这样的东西应该工作:$Path = "C:\{the rest of the file path in your image}\office_stock.txt"$Content = Get-Content -Path $PathSet-Content -Path $Path -Value $Content -Encoding UTF8
打开App,查看更多内容
随时随地看视频慕课网APP