Arkadaşlar merhaba.Forumda bakındım ama benim sorunum gibi bi soruna rastlayamadım o yüzden yeni konu açmak zorunda kaldım.
Siteme dahil ettiğim şöyle bir script var.kodları aşağıda;
<%
class cls_CBUpload_File
public Name
public Data
public ContentType
public FormName
public function Size
Size = len(Data)
end function
public function SaveToFile(sFilename)
dim sBrowser
dim oFSO, oSaveFile
dim iStartPos
set oFSO = server.createObject("Scripting.FileSystemObject")
SaveToFile = true
on error resume next
set oSaveFile = oFSO.CreateTextFile(sFilename, true)
oSaveFile.Write(Data)
oSaveFile.Close
if(Err <> 0) then
SaveToFile = false
end if
on error goto 0
set oSaveFile = Nothing
set oFSO = Nothing
end function
end class
class cls_CBUpload
public Form
public Files
public Error
sub parseFormData(byref aData)
Response.Write(Timer - iTimer & "<br />")
dim iCounter, iEndMarker
dim sFieldInfo, sFieldValue
dim oFile
for iCounter = 0 to UBound(aData)
iEndMarker = instr(aData(iCounter), vbCrLf & vbCrLf)
if iEndMarker > 0 then
sFieldInfo = mid(aData(iCounter), 3, iEndMarker - 3)
sFieldValue = mid(aData(iCounter), iEndMarker + 4, len(aData(iCounter)) - iEndMarker - 7)
if(instr(sFieldInfo, "filename=") > 0) then
if(len(getFileName(sFieldInfo)) > 0) then
set oFile = new cls_CBUpload_File
oFile.Name = getFileName(sFieldInfo)
oFile.FormName = getFieldName(sFieldInfo)
oFile.Data = sFieldValue
oFile.ContentType = getContentType(sFieldInfo)
call Files.Add(getFieldName(sFieldInfo), oFile)
set oFile = nothing
end if
else
call Form.Add(getFieldName(sFieldInfo), sFieldValue)
end if
end if
next
end sub
function getFieldName(sData)
dim iStartPos, iEndPos, sQuote
if(sData = "") then
getFieldName = ""
exit function
end if
sQuote = chr(34)
iStartPos = instr(sData, "name=")
iEndPos = instr(iStartPos + 6, sData, sQuote & ";")
if iEndPos = 0 then
iEndPos = instr(iStartPos + 6, sData, sQuote)
end if
getFieldName = mid(sData, iStartPos + 6, iEndPos - (iStartPos + 6))
end function
function getContentType(byval sData)
dim iStartPos, iEndPos
if(sData = "") then
getContentType = ""
exit function
end if
iStartPos = instr(sData, "Content-Type: ")
iEndPos = len(sData)
getContentType = mid(sData, iStartPos + 14, iEndPos)
end function
function getFileName(byval sData)
dim sBrowser
dim iStartPos, iEndPos, sQuote
if(sData = "") then
getFieldName = ""
exit function
end if
sQuote = Chr(34)
iStartPos = instr(sData, "filename=")
iEndPos = instr(iStartPos + 10, sData, sQuote & ";")
if iEndPos = 0 then
iEndPos = instr(iStartPos + 10, sData, sQuote)
end if
sData = mid(sData, iStartPos + 10, iEndPos - (iStartPos + 10))
sBrowser = UCase(Request.ServerVariables("HTTP_USER_AGENT"))
if(instr(sBrowser, "WIN") > 0) then
iStartPos = instrrev(sData, "\")
sData = mid(sData, iStartPos + 1)
else
iStartPos = instrrev(sData, "/")
sData = mid(sData, iStartPos + 1)
end if
getFileName = sData
end function
function parseRequest()
const adLongVarChar = 201
dim oRS
dim iBytesRead, iBlockSize, iTotalBytes
iTotalBytes = Request.TotalBytes
iBlockSize = 16384
iBytesRead = 0
set oRS = CreateObject("ADODB.Recordset")
oRS.Fields.Append "BinaryField", adLongVarChar, iTotalBytes
oRS.Open
oRS.AddNew
do while(iBytesRead < iTotalBytes)
if(iBytesRead + iBlockSize < iTotalBytes) then
oRS("BinaryField").AppendChunk Request.BinaryRead(iBlockSize)
iBytesRead = iBytesRead + iBlockSize
else
oRS("BinaryField").AppendChunk Request.BinaryRead(iTotalBytes - iBytesRead)
iBytesRead = iTotalBytes
end if
loop
oRS.Update
parseRequest = oRS.Fields("BinaryField").Value
oRS.Close
set oRS = nothing
end function
sub Class_Initialize
dim sData, sContentType, sBoundary
dim iEndPos
dim aData
sContentType = Request.ServerVariables("HTTP_CONTENT_TYPE")
if InStr(sContentType, "multipart/form-data") > 0 then
sData = parseRequest
iEndPos = InStrRev(sContentType, "=")
sBoundary = Trim(Right(sContentType, Len(sContentType) - iEndPos))
aData = Split(sData, sBoundary)
set Form = CreateObject("Scripting.Dictionary")
set Files = CreateObject("Scripting.Dictionary")
call parseFormData(aData)
else
Error = "Incorrect encoding type"
end if
end sub
sub Class_Terminate
set Form = nothing
set Files = nothing
end sub
end class
%>
Bu kodlarda karakter belirtilmiş sanırım.UCase denilen yerde diye tahmin ediyorum.
Sorunum şu.Türkçe karakter sorununu çözmek için
<% @ Language = VBScript CodePage=1254 %>
<%
Session.CodePage = 1254
Session.LCID = 1055
%>
<%Response.Charset="ISO-8859-9"
Response.Charset="Windows-1254"
response.ContentType="text/HTML"
%>
bu kodları yazdığımda,
Active Server Pages error 'ASP 0245'
Mixed usage of Code Page values
/upload2.asp, line 1
The @CODEPAGE value specified differs from that of the including file's CODEPAGE or the file's saved format.
bu hatayı almaktayım.İki kere karakter belirtilemez gibi bişey sanırm.Bunu nasıl düzeltebilirim.Yardımlarınızı bekliyorum.Teşekkürler.
Türkçe Karakter Sorunu!!!
5
●5.379
- 26-01-2010, 11:32:26maalesef o kodu silmeme rağmen yine türkçe karakterler çıkmıyor.

ShekerChi adlı üyeden alıntı: mesajı görüntüle - 26-01-2010, 12:55:24evet bilgisayardan seçilen dosyayı sitenin olduğu servere atıyor.Amacı bu.Ancak sitenin her tarafı türkçe çalışırken.Upload tamamlanıp dosya bilgilerinin gösterildiği sayfada türkçe karakterler bozuk çıkıyor.Sebebini bi türlü çözemedim hala

ShekerChi adlı üyeden alıntı: mesajı görüntüle - 08-02-2010, 23:44:38Eposta Aktivasyonu Gerekmekte<%
Session.CodePage = 1254
Session.LCID = 1055
%>
<%Response.Charset="ISO-8859-9"
Response.Charset="Windows-1254"
response.ContentType="text/HTML"
%>
Şu kısmı
<%Response.Charset = "windows-1254"
Session.LCID = 1055
Session.CodePage = 1254
%>
Şöyle denermsiniz.
