我正在尝试创建日常工作以查询我的SAP数据库(SQL Server 17)的物品清单,将结果保存在.txt文件中,并将其通过ftp传送到我的网站服务器,然后在其中使用PHP进行解析,并使用它来更新网站的MySQL数据库上的库存水平。
我在sql服务器代理上创建了一个作业,它将运行以下查询:
SELECT
Cast (ItemCode as varchar(20)) + '##'+
Cast (OnHand as varchar(20))+ '@@' AS Item_Stock
FROM OITW
WHERE OITW.WhsCode='01' AND OnHand>0
以上所有方法都运行良好。
问题是文件没有保存为UTF-8,因此,在将文件上传到服务器(通过ftp)后,任何类型的PHP解析(爆炸,substr等)都会失败。
所以我在寻找什么是一种强制将txt文件另存为UTF-8的方法,或者是一种使PHP读取文件并将其解析为字符串的方法。
我应该补充一点,两个字段:OnHand和ItemCode都是数字。 OnHand是库存字段,因此显然只有数字。 ItemCode可能包含一些非ASCII字符,但是如果有这样的项目,它们还是无关紧要的。我说这是为了强调,在转换编码时不必担心数据丢失,因为数字是任何编码中的数字(我认为...)。
任何帮助将不胜感激。
您不能,这是简单的答案。
更冗长的答案是在您的工作中添加另一个步骤,该步骤运行需要执行的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