Мне нужно сделать сценарий в классическом ASP для создания CSV-файла для загрузки пользователем. Он должен быть закодирован в «классическом Windows Unicode», то есть UTF-16.Классический ASP: Emit Response с charset UTF-16
Я попытался это:
Response.Clear
Response.ContentType = "text/csv"
Response.Charset = "utf-16"
Response.Codepage = 1200
Response.AddHeader "Content-Disposition", "attachment; filename=export.csv"
, но я получаю ошибку
ОШИБКА -2147467259: 006 ~ ASP 0204 ~ Недопустимая CodePage Значение ~ было задано недопустимое значение CodePage.
, что имеет смысл, поскольку в соответствии с документацией кодовая страница 1200 доступна только для управляемых приложений (ASP.NET).
Но тогда, как я могу установить кодировку Response в UTF-16?
Вы, похоже, знаете, что это может быть не актуально, но я не думаю, что вы можете получить ASP для поддержки UTF-16 (см. Обновление по [этому вопросу] (http://stackoverflow.com/a/25646123/692942)). Извините за то, что я являюсь носителем плохих новостей. – Lankymart
@ Lankymart Спасибо, это слишком плохо. Считаете ли вы, что можно достичь этого, используя поток и Response.BinaryWrite, или что-то в этом роде? – angus
Чтобы быть честным @angus, было бы проще написать COM-компонент, чтобы сделать это чем-то вроде .Net, затем вызвать его из ASP или попытаться получить требование принять UTF-8 вместо этого. Удачи, хотя, извините, что это не очень помогает. – Lankymart