处理具有访问权限,asp和CSV的奇怪字符

时间:2013-06-14 14:28:44

标签: ms-access csv encoding asp-classic character-encoding

我有一个问题,我必须创建一个带有ASP经典页面的csv文件,从MS Access数据库获取数据,一切都非常简单,但在最终文件中我有很多奇怪的字符,显示为正方形(未知的角色方块)。我必须摆脱那些角色,但我真的不知道......你有什么想法吗?

这就是我在文件中看到的东西:M�NSTERSTRA�E当然,我真的不知道哪些是产生问题的字符......而且它们真的很多。

这就是我写csv的方式......

dim fs,f,d
            set fs = Server.CreateObject("Scripting.FileSystemObject")
            set f = fs.OpenTextFile(Server.MapPath("clienti.csv"), 2, true,true)
            d = ""


            do while not rs1.EOF 


            d = ""
                For Each fField in RS1.Fields 
                    f.Write(d)
                    f.Write(" ")
                    temp = RS1(fField.Name)
                    if len(trim(temp)) > 0 then
                        f.Write(trim(temp))
                    end if
                    d = ";"    
                Next


            f.WriteLine("")


            rs1.movenext
            loop

            f.Close
            set f = Nothing
            set fs = Nothing

我无法考虑更换所有字符,因为在我提取所有客户之前我不了解它们......我需要一些解决方法...

1 个答案:

答案 0 :(得分:3)

表示您的浏览器无法识别该字符,因此可以替代。一个例子是“智能引号”(卷曲的),一些应用程序,如MS Word,替代海峡引用。默认字符编码为ISO-8859-1。

如果您不希望这些出现,您有两个选择。你可以删除它们,你可以尝试找到合适的替代品。

无论哪种方式,首先你必须识别导致 的所有字符。为此,您必须浏览每个字符并将其与此列表进行比较:http://www.ic.unicamp.br/~stolfi/EXPORT/www/ISO-8859-1-Encoding.html

一旦识别出错误的字符,您可以选择删除它,或者一旦弄清楚它们应该是什么,就可以将它们更改为应该存在的字符。例如,智能引号被编码为147& 148,所以你可以把它们都改成海峡引号(“)。如果你进行搜索,你可能会发现一些代码可以为你做大部分(如果不是全部)。