使用经典ASP引入电子表格内容,包括表情符号

时间:2019-03-22 15:26:43

标签: excel asp-classic emoji

我需要编写一个小脚本来获取XLS文件的内容,并将其很好地放在网页中。到目前为止,非常容易。但是,电子表格文本将是一系列社交媒体帖子的内容,其中包括表情符号。我做了一个非常基本的测试,发现当表情符号被脚本放到页面时,表情符号会变成问号。

我本人并不特别喜欢表情符号,但是我无法选择它们是否包含在文本中,它们需要出现在最终结果中。

这是脚本的简化版本,没有格式等。

<%@ Language=VBScript%>
<html><head></head>
<body>
<%
Dim objConn, objRS
Set objConn = Server.CreateObject("ADODB.Connection")
filepath = "xls/OPG.xls"
objConn.Open "DRIVER={Microsoft Excel Driver (*.xls)}; IMEX=1; HDR=NO; Excel 8.0; DBQ=" & Server.MapPath(filepath) & "; "
strSQL = "SELECT * FROM A1:C400"
Set objRS=objConn.Execute(strSQL)

Set DataList = CreateObject("ADOR.Recordset")

Do Until objRS.EOF

Response.Write objRS.Fields("Post Description").Value & "<br /><br />"
objRS.MoveNext
Loop
objConn.Close
Set objConn=Nothing
%>
</body>
</html>

这就是原始XLS文件的样子...

Excel file original

...这是进入网页的方式...

the result

我该如何解决?有什么想法吗?

谢谢

1 个答案:

答案 0 :(得分:0)

Microsoft Access数据库引擎能够从Excel文件读取和显示表情符号: https://www.microsoft.com/en-us/download/details.aspx?id=54920

尽管如此,您将需要将代码页和字符集设置为UTF-8:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%

    response.Charset = "utf-8"

%>

连接字符串:

objConn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Server.MapPath(filepath) & ";Extended Properties=""Excel 12.0 Xml;HDR=YES;IMEX=1"";"

经过测试,可以正常工作。