我有一個日期導入項目,客戶端發送ANSI-latin1編碼文件(iso-8859-1)。然而......似乎每週我們都會得到一個驚喜檔案,這個檔案格式不正確,導入基本上死得可怕,需要人工干預才能恢復並繼續......最常見的壞檔案格式似乎是excel,壓縮文件或XML/HTML文件...如何檢測文件不是ANSI-Latin1?
因此,爲了減輕人爲干預,我想合理確定是否我們有一個強大的ANSI候選文件,然後再試圖通過每一行該文件尋找64個壞字符中的一個,然後對整個行或文件在發現錯誤字符數量方面是否錯誤進行了深入分析...
我在考慮可能正在製作Unicode/UTF檢查和/或魔法數字檢查或晚上試圖檢查一些特定的應用程序類型..該文件s沒有文件擴展名,因此任何檢查都將通過檢查內容和任何快速排除文件的方式來完成,因爲導入過程需要每秒處理100-500條記錄。
注:超過100個不同類型的壞文件已發送給我們,包括圖像和PDF文件。所以,有一個關於是否可以方便快捷地排除LTOS不同的非ANSI類型的,而不僅僅是幾個專門針對關注...
+1不錯的答案。 – 2009-09-18 22:19:59
上一年收到的錯誤文件類型的實際列表超過了100. 由於傳統的ghost腳本實現,NUL是ANSI-latin1實現中的允許字符。 我一直在閱讀了對UTF BOM的,但如果我正確地理解他們,他們很少使用... 愛其他檢查的建議,雖然我wodner我多少壓縮頭會檢查覆蓋最常用的? – Shire 2009-09-18 22:22:36
也可能要檢查第一行是否會導入/看起來像你的文件類型。 – 2009-09-18 22:24:23