Here's a nice ASP recursive converter, you need IIS running on your computer:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<HTML>
<HEAD>
<TITLE>Charset Converter - TFI 13/02/2015</TITLE>
</HEAD>
<BODY style='font-family:arial;font-size:11px;color:white;background-color:#7790c4;font-size:15px'>
<H1 style='color:yellow'>Recursive file charset converter</H1>
by TFI 13/02/2015<BR><BR>
<%
totalconverted=0
Function transcoder( ANSIFile)
UFT8FileOut=ANSIFile&".tempfile"
Set oFS = CreateObject( "Scripting.FileSystemObject" )
Set oFrom = CreateObject( "ADODB.Stream" )
sFFSpec = oFS.GetAbsolutePathName(ANSIFile)
Set oTo = CreateObject( "ADODB.Stream" )
sTFSpec = oFS.GetAbsolutePathName(UFT8FileOut)
oFrom.Type = 2 'adTypeText
oFrom.Charset = fromchar '"Windows-1252"
oFrom.Open
oFrom.LoadFromFile sFFSpec
oTo.Type = 2 'adTypeText
oTo.Charset = tochar '"utf-8"
oTo.Open
oTo.WriteText oFrom.ReadText
oTo.SaveToFile sTFSpec,2
oFrom.Close
oTo.Close
oFS.DeleteFile sFFSpec
oFS.MoveFile sTFSpec,sFFSpec
End Function
Function ConvertFiles(objFolder, sExt, bRecursive, fromchar, tochar)
Dim objFile, objSubFolder
For each objFile in objFolder.Files
If Ucase(fso.GetExtensionName(objFile)) = ucase(sExt) Then
transcoder objFile.path
totalconverted=totalconverted+1
response.write "• Converted <B>"&fso.GetAbsolutePathName(objFile)&"</B> from <B>"&fromchar&"</B> to <B>"&tochar&"</B><BR>"
End If
Next
If bRecursive = true then
For each objSubFolder in objFolder.Subfolders
ConvertFiles objSubFolder, sExt, true, fromchar, tochar
Next
End If
End Function
sFolder=request.form("sFolder")
sExtension=request.form("sExtension")
fromchar=request.form("fromchar")
tochar=request.form("tochar")
sSubs=request.form("sSubs")
if sSubs="1" then
sub1=True
else
sub1=false
end if
if len(sExtension)=0 then sExtension="asp"
if len(sFolder)>0 and len(fromchar)>0 and len(tochar)>0 then
Dim fso, folder, files, NewsFile, sFolder, objFSO, strFileIn, strFileOut
Set fso = CreateObject("Scripting.FileSystemObject")
'sFolder = "C:\inetpub\wwwroot\naoutf8"
ConvertFiles fso.GetFolder(sFolder), sExtension, Sub1, fromchar, tochar
response.write "<hr><br>Total files converted: "&totalconverted&"<BR><BR>New conversion?<br><br>"
end if
%>
<FORM name=ndata method=post action="UTF8converter.asp">
<TABLE cellspacing=0 cellpadding=5>
<TR>
<TD>Folder to process:</TD>
<TD><INPUT name=sFolder style='width:350px' placeholder="C:\example"></TD>
</TR>
<TR>
<TD>Extension:</TD>
<TD><INPUT name=sExtension style='width:50px' value='asp'> (default is .asp)</TD>
</TR>
<TR>
<TD>Process subfolders:</TD>
<TD><INPUT type=checkbox name=sSubs value='1' checked></TD>
</TR>
<TR>
<TD>From charset:</TD>
<TD><select name=fromchar>
<option value="big5">charset=big5 - Chinese Traditional (Big5)
<option value="euc-kr">charset=euc-kr - Korean (EUC)
<option value="iso-8859-1">iso-8859-1 - Western Alphabet
<option value="iso-8859-2">iso-8859-2 - Central European Alphabet (ISO)
<option value="iso-8859-3">iso-8859-3 - Latin 3 Alphabet (ISO)
<option value="iso-8859-4">iso-8859-4 - Baltic Alphabet (ISO)
<option value="iso-8859-5">iso-8859-5 - Cyrillic Alphabet (ISO)
<option value="iso-8859-6">iso-8859-6 - Arabic Alphabet (ISO)
<option value="iso-8859-7">iso-8859-7 - Greek Alphabet (ISO)
<option value="iso-8859-8">iso-8859-8 - Hebrew Alphabet (ISO)
<option value="koi8-r">koi8-r - Cyrillic Alphabet (KOI8-R)
<option value="shift-jis">shift-jis - Japanese (Shift-JIS)
<option value="x-euc">x-euc - Japanese (EUC)
<option value="utf-8">utf-8 - Universal Alphabet (UTF-8)
<option value="windows-1250">windows-1250 - Central European Alphabet (Windows)
<option value="windows-1251">windows-1251 - Cyrillic Alphabet (Windows)
<option value="windows-1252" selected>windows-1252 - Western Alphabet (Windows)
<option value="windows-1253">windows-1253 - Greek Alphabet (Windows)
<option value="windows-1254">windows-1254 - Turkish Alphabet
<option value="windows-1255">windows-1255 - Hebrew Alphabet (Windows)
<option value="windows-1256">windows-1256 - Arabic Alphabet (Windows)
<option value="windows-1257">windows-1257 - Baltic Alphabet (Windows)
<option value="windows-1258">windows-1258 - Vietnamese Alphabet (Windows)
<option value="windows-874">windows-874 - Thai (Windows)
</select></TD>
</TR>
<TR>
<TD>To charset:</TD>
<TD><select name=tochar>
<option value="big5">big5 - Chinese Traditional (Big5)
<option value="euc-kr">euc-kr - Korean (EUC)
<option value="iso-8859-1">iso-8859-1 - Western Alphabet
<option value="iso-8859-2">iso-8859-2 - Central European Alphabet (ISO)
<option value="iso-8859-3">iso-8859-3 - Latin 3 Alphabet (ISO)
<option value="iso-8859-4">iso-8859-4 - Baltic Alphabet (ISO)
<option value="iso-8859-5">iso-8859-5 - Cyrillic Alphabet (ISO)
<option value="iso-8859-6">iso-8859-6 - Arabic Alphabet (ISO)
<option value="iso-8859-7">iso-8859-7 - Greek Alphabet (ISO)
<option value="iso-8859-8">iso-8859-8 - Hebrew Alphabet (ISO)
<option value="koi8-r">koi8-r - Cyrillic Alphabet (KOI8-R)
<option value="shift-jis">shift-jis - Japanese (Shift-JIS)
<option value="x-euc">x-euc - Japanese (EUC)
<option value="utf-8" selected>utf-8 - Universal Alphabet (UTF-8)
<option value="windows-1250">windows-1250 - Central European Alphabet (Windows)
<option value="windows-1251">windows-1251 - Cyrillic Alphabet (Windows)
<option value="windows-1252">windows-1252 - Western Alphabet (Windows)
<option value="windows-1253">windows-1253 - Greek Alphabet (Windows)
<option value="windows-1254">windows-1254 - Turkish Alphabet
<option value="windows-1255">windows-1255 - Hebrew Alphabet (Windows)
<option value="windows-1256">windows-1256 - Arabic Alphabet (Windows)
<option value="windows-1257">windows-1257 - Baltic Alphabet (Windows)
<option value="windows-1258">windows-1258 - Vietnamese Alphabet (Windows)
<option value="windows-874">windows-874 - Thai (Windows)
</select></TD>
</TR>
</TABLE><BR>
<INPUT TYPE=BUTTON onClick='if(document.ndata.sFolder.value.length>0)document.ndata.submit()'value='Convert folder and subfolders'>
</FORM>
</BODY>
</HTML>