Avatar billede nidyahou Praktikant
06. november 2008 - 15:54 Der er 15 kommentarer og
1 løsning

problem med danske tegn

mit problem er  at jeg har mærkelig tegnsætning med Æ, Ø, Å og dets lige. Jeg har angivet

<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
og <%response.Charset="UTF-8"%>

i firefox betyder det at alle tegn bliver vist korrekt inden jeg behandler med ASP, hvor æ Æ vises forkert, men i IE bliver alle Æ Ø Å vist forkert på alle tidspunkter  ex. æ = æ


jeg henter nogle information fra google gennem et javascript og i FF vises det fint med alle tegn
i IE vises alle danske tegn forkert.
Avatar billede mitbrugernavn Praktikant
06. november 2008 - 15:59 #1
jeg sætter dette i toppen af mine sider

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>

<%Response.charset="iso-8859-1"%>
Avatar billede mitbrugernavn Praktikant
06. november 2008 - 16:00 #2
hvordan ser det ud i din database ???
Avatar billede nidyahou Praktikant
06. november 2008 - 16:22 #3
jeg har ikke lyst til at blande databasen ind i det ( i hvert fald ikke endnu) da den information der kommer galt afsted er clientsidebaseret input.

Browseren fortolker javascriptet og spytter noget ind i nogle formfelter som så bliver processeret i min asp.
Avatar billede nidyahou Praktikant
06. november 2008 - 16:23 #4
hvis jeg indsætter dine kodestykker viser firefox også forkerte tegn hele vejen igennem
Avatar billede nidyahou Praktikant
06. november 2008 - 16:23 #5
jeg har forsøgt mig med en funktion som ser således ud - dog uden held:

Function SForm(streng)
streng = Lcase(Trim(streng))
if InStr(streng,"ø") or InStr(streng,"æ") or InStr(streng,"Ã¥") or InStr(streng,"ø") or InStr(streng,"å") then
streng = replace(streng,"æ","&#230")
streng = replace(streng,"æ","&#230")
streng = replace(streng,"ø","&#248")
streng = replace(streng,"ø","&#248")
streng = replace(streng,"å","&#229")
streng = replace(streng,"Ã¥","&#229")
end if
if not IsNull(streng) then
SForm = streng
end if
Avatar billede mitbrugernavn Praktikant
06. november 2008 - 16:27 #6
det vil sige at der er når brugeren udfylder formen og inden det kommer i db
Avatar billede nidyahou Praktikant
06. november 2008 - 16:30 #7
lige præcis
Avatar billede mitbrugernavn Praktikant
06. november 2008 - 16:35 #8
<%Response.CharSet="ISO-8859-1"%> burde kunne gøre det på din asp side - har du et eksempel på dit script +  javascript
Avatar billede nidyahou Praktikant
06. november 2008 - 17:49 #9
det kan du sagtens. Som du kan se skriver javascriptet til nogle felter, der så postes videre og bliver ASP behandlet, men i IE er tegnene allerede forkert ved indskrivningen i disse felter. i Firefox er der først fejl i æ efter der har været ASP inde over:


function getAllEvents() {
              // Create the calendar service object
              var calendarService = new google.gdata.calendar.CalendarService('TimeoutCal');

              // The default "private/full" feed is used to retrieve events from
              // the primary private calendar with full projection
              var feedUri = 'http://www.google.com/calendar/feeds/default/private/full';
             
              // The callback method that will be called when getEventsFeed() returns feed data
              var callback = function(result) {
                  // Obtain the array of CalendarEventEntry
                  var entries = result.feed.entry;
                  var Unsynchronized = 0;
                  var Synchronized = 0;
                  for (var i = 0; i < entries.length; i++) {
                      var event = entries[i]; 
                if(event.getExtendedProperties().length == 0){
                Unsynchronized ++;
                document.getElementById("information").innerHTML +=('Event title = ' + event.getTitle().getText());
                document.googlesync.titles.value += ('][#TO:DataCell:' + event.getTitle().getText());
                document.googlesync.details.value += ('][#TO:DataCell:' + event.getContent().getText());
                //fang locations array
                document.googlesync.adresses.value += ('][#TO:DataCell:');
                for(var l = 0; l < event.getLocations().length; l++){
                document.googlesync.adresses.value += ('][#TO:PartDataCell:' + event.getLocations()[l].getValueString());}
                //fang times
                document.googlesync.times.value += ('][#TO:DataCell:');
                for(var t = 0; t < event.getTimes().length; t++){
                document.googlesync.times.value += ('][#TO:PartDataString:' + google.gdata.DateTime.toIso8601(event.getTimes()[t].getStartTime()));
                document.googlesync.times.value += ('][#TO:PartDataString:' + google.gdata.DateTime.toIso8601(event.getTimes()[t].getEndTime()));}
                //fang participants
                document.googlesync.participants.value += ('][#TO:DataCell:');
                for(var p = 0; p < event.getParticipants().length; p++){
                document.googlesync.participants.value += ('][#TO:PartDataString:' + event.getParticipants()[p].getValueString());
                document.googlesync.participants.value += ('][#TO:PartDataString:' + event.getParticipants()[p].getEmail());}
                document.getElementById("events").innerHTML += (' - this event has extended property: ' + event.getExtendedProperties().length + '<br>');
                }
                else{
                document.googlesync.sids.value += ('][#TO:DataCell:' + event.getExtendedProperties()[0].getValue());
                Synchronized ++;
                document.getElementById("information").innerHTML +=('Event title = ' + event.getTitle().getText());
                document.googlesync.stitles.value += ('][#TO:DataCell:' + event.getTitle().getText());
                document.googlesync.sdetails.value += ('][#TO:DataCell:' + event.getContent().getText());
                //fang locations array
                document.googlesync.sadresses.value += ('][#TO:DataCell:');
                for(var l = 0; l < event.getLocations().length; l++){
                document.googlesync.sadresses.value += ('][#TO:PartDataCell:' + event.getLocations()[l].getValueString());}
                //fang times
                document.googlesync.stimes.value += ('][#TO:DataCell:');
                for(var t = 0; t < event.getTimes().length; t++){
                document.googlesync.stimes.value += ('][#TO:PartDataString:' + google.gdata.DateTime.toIso8601(event.getTimes()[t].getStartTime()));
                document.googlesync.stimes.value += ('][#TO:PartDataString:' + google.gdata.DateTime.toIso8601(event.getTimes()[t].getEndTime()));}
                //fang participants
                document.googlesync.sparticipants.value += ('][#TO:DataCell:');
                for(var p = 0; p < event.getParticipants().length; p++){
                document.googlesync.sparticipants.value += ('][#TO:PartDataString:' + event.getParticipants()[p].getValueString());
                document.googlesync.sparticipants.value += ('][#TO:PartDataString:' + event.getParticipants()[p].getEmail());}
                }
                }
                // Print the total number of events
                  document.getElementById("events").innerHTML += ('Total of ' + entries.length + ' event(s) of which ' + Unsynchronized + ' are not synchronized');
                  document.googlesync.posthidden.value = ('j');
                  document.googlesync.unsync.value = (Unsynchronized);
                  document.googlesync.existsync.value = (Synchronized);
                  document.googlesync.submit();
                  }

                // Error handler to be invoked when getEventsFeed() produces an error
                var handleError = function(error) {
                document.getElementById("events").innerHTML += (error);
              }

              // Submit the request using the calendar service object
              calendarService.getEventsFeed(feedUri, callback, handleError);}
Avatar billede nidyahou Praktikant
07. november 2008 - 10:25 #10
med min replace procedure fungerer det nu både i IE og firefox, undtagen for Æ
Avatar billede mitbrugernavn Praktikant
07. november 2008 - 10:57 #11
Function SForm(streng)
streng = server.htmlencode(Trim(streng))
if not IsNull(streng) then
SForm = streng
end if
Avatar billede nidyahou Praktikant
07. november 2008 - 11:00 #12
klarede problemet såledeS:

Function SForm(streng)
if not IsNull(streng) then
streng = Server.HTMLEncode(Lcase(Trim(streng)))
streng = replace(streng,"æ",Chr(230))
streng = replace(streng,"æ",Chr(230))
streng = replace(streng,"ø",Chr(248))
streng = replace(streng,"ø",Chr(248))
streng = replace(streng,"å",Chr(229))
streng = replace(streng,"Ã¥",Chr(229))
streng = replace(streng,"amp;","")
SForm = streng
end if
end function

tak for dine skub på vejen :)
Avatar billede nidyahou Praktikant
07. november 2008 - 12:50 #13
how - der snød jeg dig vist for en gedin omgang point - havde slet ikke set at du rent faktisk havde postet løsningen da jeg skrev - opretter en ny tråd til dig
Avatar billede vejmand Juniormester
07. november 2008 - 12:53 #14
Avatar billede mitbrugernavn Praktikant
07. november 2008 - 12:54 #15
;-))))

syntes at vi slår ½ skade - jeg svarer på det nye
Avatar billede nidyahou Praktikant
24. november 2008 - 20:18 #16
mit problem med tegnformattering består - så hvis folk har lyst til at teste kan det ske her: http://www.jdsign.dk/googlepost_valid.htm
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester