webForumDet fria alternativet

Å, Ä och Ö...

ASP

8 svar · 549 visningar · startad av stateless

Medlem sedan feb. 200423 inlägg
Frågan#1

Om ett aspscript inte stödjer filnamn eller mappnamn med bokstäverna å, ä och ö.
Finns det någon kod eller något sätt att lägga in det i scriptet?

Medlem sedan jan. 20032 285 inlägg
#2

Menar du att du vill byta ut dem till a respektive o? Det kan du göra såhär:

strFoo = Replace(Replace(Replace(Replace(Replace(Replace(strFoo, "ö", "o"), "ä", "a"), "å", "a"), "Ö", "O"), "Ä", "A"), "Å", "A")
Medlem sedan feb. 200423 inlägg
#3

Nja.

Tänkte använda ett bildvisningsscript och när jag väljer att visa en fil eller mapp som innehåller å, ä eller ö så får jag felmeddelandet ´unsupported characters´
Vill göra en förändring i scriptet så jag kan använda svenska tecken. Det ser ju bättre ut för de som ska läsa filnamnen.

Är en novis på asp men lär mig mer och mer för varje dag. :)

Medlem sedan juni 200032 967 inlägg
#4

Hur ser koden ut då?

Medlem sedan feb. 200423 inlägg
#5

Det är ett script jag hittade på Gruvsjo.com

Så här ser koden ut oförändrad

<%
'#######Antal thumbs på rad#######
Antal = 6

'#######Mappen som du vill lista bilder i#######
MappNamn = "TestMapp"

'#######Bredd och höjd på thumbbilden#######
height = "50"
width = "50"
%>

<script language="javaScript">
function Show(filename,winTitle)
{
var myImage = new Image();
myImage.src=filename;
properties='height=10,width=10';
var imgWindow = window.open('','',properties);

html = '\<html\>';
html += '\<head\>';
html += '\<title\>'+winTitle+'\</title\>';
html += '\</head\>';
html += '\<body topmargin="0" marginheight="0" leftmargin="0" marginwidth="0"\>';
html += '\<img src="'+myImage.src+'" onLoad="resizeTo(document.bild.width+10,document.bild.height+29);" name="bild" OnClick="self.close();"\>';
html += '\</body\>';
html += '\</html\>';

imgWindow.document.write(html);

}
</script>

<link rel="stylesheet" href="stil.css" type="text/css">

<%Set Mappkoll = Server.CreateObject("Scripting.FileSystemObject")
Set Mapp = Mappkoll.GetFolder(Server.MapPath(MappNamn))%>

<table width="400" border="0">

<%If Mapp.Files.Count = 0 Then%>
<tr>
<td>Inga bilder finns</td>
</tr>
<%Else
x=0
For Each File In Mapp.Files
If x = Antal Then
Response.Write "<tr>"
x = 0
End If%>
<td width="16%" valign="top"><a href="javascript:Show('<%=MappNamn%>/<%=File.Name%>','<%=File.Name%>')"><img src="<%=MappNamn%>/<%=File.Name%>" width="<%=width%>" height="<%=height%>" border="1" alt="<%=File.Name%>"></a></td>
<%X=X+1
Next
If x Mod Antal <> 0 Then
For i = 1 To Antal - x Mod Antal%>
<td width="16%"> </td>
<%Next
Response.Write "</tr>"
End If
End If%>
</table>

Medlem sedan jan. 20032 285 inlägg
#6

Som koden är nu orkar jag inte läsa den, använd [kod]-taggarna!

Medlem sedan feb. 200423 inlägg
#7

Ah, sorry. Tänkte inte på det.
Lägger in den i rätt format och delar upp den i tre delar.

<%
'#######Antal thumbs på rad#######
Antal              = 6

'#######Mappen som du vill lista bilder i#######
MappNamn = "TestMapp"

'#######Bredd och höjd på thumbbilden#######
height = "50"
width = "50"
%>
<script language="javaScript">
function Show(filename,winTitle) 
{
    var myImage = new Image();
    myImage.src=filename;
    properties='height=10,width=10';
    var imgWindow = window.open('','',properties);
    
    html = '<html>';
    html += '<head>';
    html += '<title>'+winTitle+'</title>';
    html += '</head>';
    html += '<body topmargin="0" marginheight="0" leftmargin="0" marginwidth="0">';
    html += '<img src="'+myImage.src+'" onLoad="resizeTo(document.bild.width+10,document.bild.height+29);" name="bild" OnClick="self.close();">';
    html += '</body>';
    html += '</html>';
    
    imgWindow.document.write(html);
}
</script>
<link rel="stylesheet" href="stil.css" type="text/css">

<%Set Mappkoll = Server.CreateObject("Scripting.FileSystemObject")
Set Mapp = Mappkoll.GetFolder(Server.MapPath(MappNamn))%>

<table width="400" border="0">

<%If Mapp.Files.Count = 0 Then%>
       <tr> 
           <td>Inga bilder finns</td> 
       </tr> 
<%Else
x=0
For Each File In Mapp.Files
If x = Antal Then
  Response.Write "<tr>"
  x = 0
End If%>
   <td width="16%" valign="top"><a href="javascript:Show('<%=MappNamn%>/<%=File.Name%>','<%=File.Name%>')"><img src="<%=MappNamn%>/<%=File.Name%>" width="<%=width%>" height="<%=height%>" border="1" alt="<%=File.Name%>"></a></td>
<%X=X+1
Next
If x Mod Antal <> 0 Then
   For i = 1 To Antal - x Mod Antal%>
        <td width="16%">&nbsp;</td>
   <%Next
  Response.Write "</tr>"
End If
End If%>
</table>

Hoppas det här blev lättare.
//Johan

Medlem sedan jan. 20032 285 inlägg
#8

På vilken rad kommer felmeddelandet?

Medlem sedan feb. 200423 inlägg
#9

Så här ser felmeddelandet ut.

Server object error 'ASP 0173 : 80004005' 

Invalid Path Character 

/foton.asp, line 61 

An invalid character was specified in the Path parameter for the MapPath method.

Eftersom det står Invalid Path Character så antar jag att scriptet inte förstår bokstäverna å, ä och ö.
På rad 61 ligger den här koden:

Set Mappkoll = Server.CreateObject("Scripting.FileSystemObject")

Så här ser scriptet ut som jag har lagt upp det.

<%
'#######Antal thumbs på rad#######
Antal              = 5

'#######Mappen som du vill lista bilder i#######
MappNamn = "Foton"

'#######Bredd och höjd på thumbbilden#######
height = "80"
width = "80"
%>

<script language="javaScript">
function Show(filename,winTitle) 
{
    var myImage = new Image();
    myImage.src=filename;
    properties='height=10,width=10';
    var imgWindow = window.open('','',properties);
    
    html = '<html>';
    html += '<head>';
    html += '<title>'+winTitle+'</title>';
    html += '</head>';
    html += '<body topmargin="0" marginheight="0" leftmargin="0" marginwidth="0">';
    html += '<img src="'+myImage.src+'" onLoad="resizeTo(document.bild.width+10,document.bild.height+29);" name="bild" OnClick="self.close();">';
    html += '</body>';
    html += '</html>';
    
    imgWindow.document.write(html);
}
</script>

<link rel="stylesheet" href="interface.css" type="text/css">

<%Set Mappkoll = Server.CreateObject("Scripting.FileSystemObject")
Set Mapp = Mappkoll.GetFolder(Server.MapPath(MappNamn))

Set MyDrive = Mapp.subFolders%>

<title>Foton</title>
<body bgcolor="B4B6A9">
<table width="400" border="0">
<tr>
    <td><font size="3"><b>Foton</b></font></td>
</tr>
<tr>
   <td><select name="meny" onChange="self.location.href=this.options[this.selectedIndex].value;">
       <option value="">Välj album här
       <%For Each Folder in MyDrive%>
           <option value="?visa=bilder&mapp=<%=MappNamn%>/<%=Folder.Name%>"><%=Folder.Name%><br>
       <%Next%>
       </select></td>
</tr>
</table>

<%If Request.QueryString("visa") = "bilder" Then

MappNamn = Request.QueryString("mapp")

Set Mappkoll = Server.CreateObject("Scripting.FileSystemObject")
Set Mapp = Mappkoll.GetFolder(Server.MapPath(MappNamn))%>

<table width="400" border="0">

<%If Mapp.Files.Count = 0 Then%>
       <tr> 
           <td>Inga bilder finns</td> 
       </tr> 
<%Else
x=0
For Each File In Mapp.Files
If x = Antal Then
  Response.Write "<tr>"
  x = 0
End If%>
   <td width="16%" valign="top"><a href="javascript:Show('<%=MappNamn%>/<%=File.Name%>','<%=File.Name%>')"><img src="<%=MappNamn%>/<%=File.Name%>" width="<%=width%>" height="<%=height%>" border="1" alt="<%=File.Name%>"></a></td>
<%X=X+1
Next
If x Mod Antal <> 0 Then
   For i = 1 To Antal - x Mod Antal%>
        <td width="16%">&nbsp;</td>
   <%Next
  Response.Write "</tr>"
End If
End If%>
</table>

<%End If%>

Vet inte om problemet ligger i scriptet eller i programvaran på min server.
Använder B-one:s webbhotell.

/Johan

253 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)