Использование Classic ASP для ввода содержимого электронных таблиц, включая смайлики - PullRequest
0 голосов
/ 22 марта 2019

Мне нужно написать небольшой скрипт, чтобы взять содержимое файла 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 голосов
/ 22 марта 2019

Ядро базы данных 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"";"

Проверено и работает.

...