使用 access、asp 和 CSV 处理奇怪的字符
Posted
技术标签:
【中文标题】使用 access、asp 和 CSV 处理奇怪的字符【英文标题】:dealing with strange characters with access, asp and CSVs 【发布时间】:2013-06-14 14:28:44 【问题描述】:我有一个问题,我必须创建一个带有 ASP Classic 页面的 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
我无法考虑替换所有字符,因为在提取所有客户端之前我不知道它们...我需要一些解决方法...
【问题讨论】:
您如何查看 CSV 文件并看到那些奇怪的字符? ...您是在记事本中打开文件吗? ...您要将其发送到浏览器窗口吗? 【参考方案1】:�表示您的浏览器无法识别该字符,因此请替换。一个例子是“智能引号”(弯引号),某些应用程序(如 MS Word)替代了海峡引号。默认字符编码为 ISO-8859-1。
如果您不希望这些显示,您有 2 个选择。你可以删除它们,你可以尝试找到合适的替换。
无论哪种方式,首先您必须识别所有导致�的字符。为此,您必须检查每个字符并将其与以下列表进行比较:http://www.ic.unicamp.br/~stolfi/EXPORT/www/ISO-8859-1-Encoding.html
一旦您确定了坏字符,您可以选择将其删除,或者一旦您弄清楚它们应该是什么,您就可以将它们更改为应有的样子。例如,智能引号被编码为 147 和 148,因此您可以将它们都更改为海峡引号 (")。如果您进行搜索,您可能会找到一些代码,即使不是全部,这是给你的。
【讨论】:
谢谢,我会检查一下并考虑解决方案......我的问题基本上是这些字符存在于 CSV 文件中,必须稍后在网页上导入......所以我会有重新编码所有这些字符......我希望找到一种快速的方法来做到这一点......:D 如果你自己做,那就是做几行替换的问题。例如:strHTML = Replace(strHTML, chr(147), "“")
是一种变化。以上是关于使用 access、asp 和 CSV 处理奇怪的字符的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Python 中转换、排序和保存到 CSV MS Access 数据库 .mdb 文件
ASP - 从 MS Access DB 获取记录时遇到日期格式(在 WHERE 子句中)
经典 asp 查询未按连接到 Microsoft Access 数据库的用户名排序