using Azylee.Core.IOUtils.TxtUtils;
using Azylee.Core.LogUtils.SimpleLogUtils;
using Microsoft.SqlServer.Server;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Test.Runrun
{
static class Program
{
///
/// 应用程序的主入口点。
///
[STAThread]
static void Main()
{
string errorCode = "";
string sqlFile = @"D:\code\workspace\histone\cmp7\svn\CMP7_02_工程域\03_SRC\Scripts\04_提交测试脚本\CMP7.3.1\7.3.1.33_0105\hicmp_report(pg+adbpg)\2023-12-25\福建高速专用\fjgsrpt_0302_pur_dt_进货明细报表.sql";
Encoding encoding1 = GetFileEncoding(sqlFile);
List lines = TxtTool.ReadLine(sqlFile, Encoding.UTF8); // Encoding.GetEncoding("gb2312")
foreach (string l in lines)
{
if (l.Contains("�"))
{
errorCode = "乱码";
break;
}
}
byte[] bytes = Encoding.UTF8.GetBytes("�");
sqlFile = @"D:\code\workspace\histone\cmp7\svn\CMP7_02_工程域\03_SRC\Scripts\04_提交测试脚本\CMP7.3.1\7.3.1.33_0105\hicmp_report(pg+adbpg)\2023-12-25\福建高速专用\fjgsrpt_0501_stk_sum_库存汇总报表.sql";
Encoding encoding2 = GetFileEncoding(sqlFile);
List lines2 = TxtTool.ReadLine(sqlFile, Encoding.Default);
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
///
/// 获取指定文件的编码
/// 以防止在不知道文件编码格式的情况下处理文件而造成的乱码问题
///
/// 文件路径
///
public static Encoding GetFileEncoding(string filename)
{
Encoding ReturnReturn = Encoding.Default;
if (!File.Exists(filename)) return ReturnReturn;
try
{
using (FileStream fs = new FileStream(filename, FileMode.Open, FileAccess.Read))
{
using (BinaryReader br = new BinaryReader(fs))
{
byte[] buffer = br.ReadBytes(4);
if (buffer.Length > 0 && buffer[0] >= 0xEF)
{
if (buffer[0] == 0xEF && buffer[1] == 0xBB) ReturnReturn = Encoding.UTF8;
else if (buffer[0] == 0xFE && buffer[1] == 0xFF) ReturnReturn = Encoding.BigEndianUnicode;
else if (buffer[0] == 0xFF && buffer[1] == 0xFE) ReturnReturn = Encoding.Unicode;
else ReturnReturn = Encoding.Default;
}
else if (buffer.Length > 0 && buffer[0] == 0xe4 && buffer[1] == 0xbd)
ReturnReturn = Encoding.UTF8;
else
ReturnReturn = Encoding.Default;
}
}
}
catch (Exception ex)
{
ReturnReturn = Encoding.Default;
}
return ReturnReturn;
}
}
}