Да, удостоверьтесь, что Вам установили разумного редактора. Не уверенный то, что Вы - редактор по умолчанию, будет всего лишь, если, как я, это будет нано (то скажет где-нибудь около вершины после ввода фиксации), просто необходимо ввести в комментарии и затем поразить Ctrl-x для окончания. Тогда хит y, сопровождаемый входит для подтверждения фиксации.
кроме того, если Вы хотите видеть простой список файлов, Вы будете фиксировать, а не огромная разность, перечисляющая заранее, пробуют
git diff --name-only
Ваш анализ CStrU верен. Предполагается, что клиент отправляет однобайтовые символы ANSI. Также предполагается, что кодовая страница, используемая клиентом и локалью, в которой работает VBScript, одинакова.
При использовании UTF-8 предположения, сделанные CStrU, всегда будут неверными. Насколько мне известно, не существует языкового стандарта с кодовой страницей 65001 (я думаю, что есть один или два, которые используют 65000, но это опять же другое).
Вот функция замены, которая предполагает, что текст находится в UTF-8 : -
Private Function CStrU(ByRef pstrANSI)
Dim llngLength '' # Length of ANSI string
Dim llngIndex '' # Current position
Dim bytVal
Dim intChar
'' # determine length
llngLength = LenB(pstrANSI)
'' # Loop through each character
llngIndex = 1
Do While llngIndex <= llngLength
bytVal = AscB(MidB(pstrANSI, llngIndex, 1))
llngIndex = llngIndex + 1
If bytVal < &h80 Then
intChar = bytVal
ElseIf bytVal < &hE0 Then
intChar = (bytVal And &h1F) * &h40
bytVal = AscB(MidB(pstrANSI, llngIndex, 1))
llngIndex = llngIndex + 1
intChar = intChar + (bytVal And &h3f)
ElseIf bytVal < &hF0 Then
intChar = (bytVal And &hF) * &h1000
bytVal = AscB(MidB(pstrANSI, llngIndex, 1))
llngIndex = llngIndex + 1
intChar = intChar + (bytVal And &h3F) * &h40
bytVal = AscB(MidB(pstrANSI, llngIndex, 1))
llngIndex = llngIndex + 1
intChar = intChar + (bytVal And &h3F)
Else
intChar = &hBF
End If
CStrU = CStrU & ChrW(intChar)
Loop
End Function
Обратите внимание, что после исправления CStrU для UTF-8 вывод страницы вашего примера теперь выглядит неправильно. Совет по установке кодовой страницы файла на 65001 также является обязательным. Поскольку вы устанавливаете CharSet, отправляемый клиенту, в "UTF-8"
Я не знаю, будет ли это любая помощь, но я работал с некоторым классическим кодом ASP , чтобы использовать утилиту SWFUpload (плагин Flash, который позволяет загружать несколько файлов за один раз).
Пример кода ASP включает в себя некоторый исчерпывающий код, который сортирует декодирование байтов / Unicode и похоже на то, что вы упомянули относительно chr (AscB (MidB (... - возможно, второй пример может пролить свет на вашу проблему.
«в те времена», я использовал ASPUpload . Было дешевле купить, чем тратить время на борьбу с данными формы. Немного похоже на ASP.NET, он делает доступными для запроса как обычные поля, так и загруженные файлы, но при этом (IIRC) нарушает старый объект формы - то есть после чтения из ASPUpload входной поток будут использованы, и попытка использовать обычные входные данные не удастся.
Вы можете использовать оба подхода в одном приложении - но не оба одновременно во время одного запроса страницы; выберите один или другой, в основном (обычно на основе входящего MIME).