Program.cs 3.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. using Azylee.Core.IOUtils.TxtUtils;
  2. using Azylee.Core.LogUtils.SimpleLogUtils;
  3. using Microsoft.SqlServer.Server;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.IO;
  7. using System.Linq;
  8. using System.Text;
  9. using System.Windows.Forms;
  10. namespace Test.Runrun
  11. {
  12. static class Program
  13. {
  14. /// <summary>
  15. /// 应用程序的主入口点。
  16. /// </summary>
  17. [STAThread]
  18. static void Main()
  19. {
  20. string errorCode = "";
  21. 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";
  22. Encoding encoding1 = GetFileEncoding(sqlFile);
  23. List<string> lines = TxtTool.ReadLine(sqlFile, Encoding.UTF8); // Encoding.GetEncoding("gb2312")
  24. foreach (string l in lines)
  25. {
  26. if (l.Contains("�"))
  27. {
  28. errorCode = "乱码";
  29. break;
  30. }
  31. }
  32. byte[] bytes = Encoding.UTF8.GetBytes("�");
  33. 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";
  34. Encoding encoding2 = GetFileEncoding(sqlFile);
  35. List<string> lines2 = TxtTool.ReadLine(sqlFile, Encoding.Default);
  36. Application.EnableVisualStyles();
  37. Application.SetCompatibleTextRenderingDefault(false);
  38. Application.Run(new Form1());
  39. }
  40. /// <summary>
  41. /// 获取指定文件的编码
  42. /// 以防止在不知道文件编码格式的情况下处理文件而造成的乱码问题
  43. /// </summary>
  44. /// <param name="filename">文件路径</param>
  45. /// <returns></returns>
  46. public static Encoding GetFileEncoding(string filename)
  47. {
  48. Encoding ReturnReturn = Encoding.Default;
  49. if (!File.Exists(filename)) return ReturnReturn;
  50. try
  51. {
  52. using (FileStream fs = new FileStream(filename, FileMode.Open, FileAccess.Read))
  53. {
  54. using (BinaryReader br = new BinaryReader(fs))
  55. {
  56. byte[] buffer = br.ReadBytes(4);
  57. if (buffer.Length > 0 && buffer[0] >= 0xEF)
  58. {
  59. if (buffer[0] == 0xEF && buffer[1] == 0xBB) ReturnReturn = Encoding.UTF8;
  60. else if (buffer[0] == 0xFE && buffer[1] == 0xFF) ReturnReturn = Encoding.BigEndianUnicode;
  61. else if (buffer[0] == 0xFF && buffer[1] == 0xFE) ReturnReturn = Encoding.Unicode;
  62. else ReturnReturn = Encoding.Default;
  63. }
  64. else if (buffer.Length > 0 && buffer[0] == 0xe4 && buffer[1] == 0xbd)
  65. ReturnReturn = Encoding.UTF8;
  66. else
  67. ReturnReturn = Encoding.Default;
  68. }
  69. }
  70. }
  71. catch (Exception ex)
  72. {
  73. ReturnReturn = Encoding.Default;
  74. }
  75. return ReturnReturn;
  76. }
  77. }
  78. }