Avatar billede kelvin Nybegynder
02. september 2006 - 20:24 Der er 27 kommentarer og
1 løsning

FCKeditor system, brug for hjælp til at få bogstaver til at blive

Hej!

Jeg har et problem, jeg bruger FCKeditor til min side, men problemet ligger i at når jeg skriver "Å, Æ eller Ø som overskrift, sletter den det. Kan nogen fortælle mig hvad jeg skal tilføje? Eller ændre i koden nedenunder.

Her er koden til siden jeg bruger for at loade det frem!

<html>
<head>


<meta http-equiv='content-type' content='text/html; charset=iso-8859-1' />
  <title>Untitled</title>
  <!-- #INCLUDE file="fckeditor/fckeditor.asp" -->
</head>
<body>
<%
    Dim oFCKeditor
    Set oFCKeditor = New FCKeditor
    oFCKeditor.BasePath = "FCKeditor/"
    oFCKeditor.Config("SkinPath") = "skins/office2003/"
    oFCKeditor.Value = content
    oFCKeditor.Config("AutoDetectLanguage") = False
    body = body & oFCKeditor.Create("FCKeditor1") 
        Response.write body           
        Response.write "Låne"
%>
Håne
</body>
</html>

Enhver hjælp kan bruges...

Venlig hilsen
Kelvin Pagels
Avatar billede nielle Nybegynder
02. september 2006 - 20:26 #1
POrøv evt om det hjælper at bruge utf-8:

<meta http-equiv='content-type' content='text/html; charset=utf-8' />
Avatar billede nielle Nybegynder
02. september 2006 - 20:29 #2
PS. Skynd dig lige at sætte prisen for at læse din fejl-artikel ned til 0. Ellers bliver du ikke populær.

Skriv også gerne et eller andet om at den blev oprettet ved en fejl.
Avatar billede kelvin Nybegynder
02. september 2006 - 21:11 #3
Grunden til jeg har skrevet "låne" og håne nedenunder. Er fordi Response.write "Låne" bliver vist som "Lne" og Håne som er udenfor ASP koden bliver vist som "Håne"..
Avatar billede kelvin Nybegynder
02. september 2006 - 21:15 #4
http://www.komtilpappa.dk/admin/test.asp det er siden forresten. Hvor jeg har prøvet at lave en test!
Avatar billede nythjem Nybegynder
02. september 2006 - 23:23 #5
Hej Kelvin.

Som Nielle siger:

Du mangler doctype, det er en xhtml doctype du skal bruge.
Du skal sætte content typen til utf-8.
Avatar billede kasperpagels Nybegynder
03. september 2006 - 00:46 #6
Jeg kan måske uddybe problematikken!

Det som sker er, at den udmærket klarer at skrive Håne, da det er skrevet direkte i HTML koden, så den forstår altså godt tegnsætningen for hele HTML-siden. Men det som ASP-koden, vha. Responde.write, skal skrive kan den ikke! Men vel at mærke kun når FCKeditor.asp er inkluderet. Kopieres editoren ud, så kan den godt skrive det, også vha. ASP. Så det må være en indstilling der sættes i REsponse objektet, eller i ASP-koden generelt, som FCKeditoren laver? Nogle ideer?
Avatar billede nythjem Nybegynder
03. september 2006 - 01:21 #7
Nej, du har misforstået konceptet.

Jeps, når du udskriver direkte vises teksten bare.

Men når smider det ind i fck´s parameter bliver teksten parset ind i javascript koden. Den får sig så en omgang behandling af mange af de kerner der findes i systemet og bliver spyttet ud igen.

Når du eksempelvis skriver en tekst i fck editor findes der en onKeyUp event, der analyserer tegnet du har indtastet og omdanner det til utf-8 standard. Altså bliver et Æ omdannet til &AElig;

Så enten skal du omdanne danske tegn til utf-8 standard ellers skal du tilføje den her fine lille attribut.

<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />

Og husk doctype.. Er du i tvivl om hvad det er, så spørg bare..
Avatar billede kasperpagels Nybegynder
03. september 2006 - 01:47 #8
Tak for dit svar! En lille tilføjelse.
Teksten "låne" i eksemplet foroven vises ikke I FCKeditorens rediger-felt - men nedenfor! Dvs. den parses ikke gennem FCKeditorens Javascripts og maskineri (sådan som jeg har forstået det)! Jeg fik et råd et andet sted om at erstatte samtlige steder i FCKeditorens kode, hvor der stod "utf-8" med "iso-8859-1". Det førte til mange hundrede steder i koden hvor det forekom. JEg erstattede det så med et tool - simple Search Replace - der er gratis! MEn ligelidt hjalp det.

At ændre content type til utf-8 eller indsætte din linje foroven: <meta content="text/html; charset=utf-8" http-equiv="Content-Type" /> hjælper ligelidt.

Hmm....
Avatar billede nythjem Nybegynder
03. september 2006 - 02:17 #9
Kære ven..

Hvis du nu kigger på det link du selv har lavet er det lænset for alle standarder inden for moderne html. Standarder som fck editor blandt andet bygger på.

Jeg har nu downloadet fckeditor, indsat rå æ ø og å ´er og jeg fik javascript fejl.

Frederico har lavet en udemærket eksempel side, prøv at parse din tekst ind i den.

Og husk nu, teksten skal være konverteret.. Den vil sige, du skal erstatte æø og å med rigtige tegn.


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!--
* FCKeditor - The text editor for internet
* Copyright (C) 2003-2006 Frederico Caldeira Knabben
*
* Licensed under the terms of the GNU Lesser General Public License:
*         http://www.opensource.org/licenses/lgpl-license.php
*
* For further information visit:
*         http://www.fckeditor.net/
*
* "Support Open Source software. What about a donation today?"
*
* File Name: sample01.html
*     Sample page.
*
* File Authors:
*         Frederico Caldeira Knabben (fredck@fckeditor.net)
-->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>FCKeditor - Sample</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta name="robots" content="noindex, nofollow" />
    <link href="../sample.css" rel="stylesheet" type="text/css" />
    <script type="text/javascript" src="../../fckeditor.js"></script>
</head>
<body>
    <h1>
        FCKeditor - JavaScript - Sample 1
    </h1>
    <div>
        This sample displays a normal HTML form with an FCKeditor with full features enabled.
    </div>
    <hr />
    <form action="sampleposteddata.asp" method="post" target="_blank">
        <script type="text/javascript">
<!--
// Automatically calculates the editor base path based on the _samples directory.
// This is usefull only for these samples. A real application should use something like this:
// oFCKeditor.BasePath = '/fckeditor/' ;    // '/fckeditor/' is the default value.
var sBasePath = document.location.pathname.substring(0,document.location.pathname.lastIndexOf('_samples')) ;

var oFCKeditor = new FCKeditor( 'FCKeditor1' ) ;
oFCKeditor.BasePath    = sBasePath ;
oFCKeditor.Height    = 300 ;
oFCKeditor.Value    = 'Her har vi noget meget simpelt tekst -' ;
oFCKeditor.Create() ;
//-->
        </script>
        <br />
        <input type="submit" value="Submit" />
    </form>
</body>
</html>
Avatar billede nythjem Nybegynder
03. september 2006 - 02:19 #10
Prøv eksempelvis at indsætte den her linie som test:

Her har vi noget meget simpelt tekst - l&aring;ne l&aelig;se l&oslash;se
Avatar billede kasperpagels Nybegynder
03. september 2006 - 02:52 #11
Forstår jeg dig ret - at det jeg skal gøre når jeg henter min tekst fra databasen er, at konvertere et "æ" til aering, etc. og så indsætte det i stedet for?

Følgende eksempel giver selvfølgelig samme resultat:

<%@ CodePage=65001 Language="VBScript"%>

<!--
* FCKeditor - The text editor for internet
* Copyright (C) 2003-2005 Frederico Caldeira Knabben
*
* Licensed under the terms of the GNU Lesser General Public License:
*         http://www.opensource.org/licenses/lgpl-license.php
*
* For further information visit:
*         http://www.fckeditor.net/
*
* File Name: sample01.asp
*     Sample page.
*
* File Authors:
*         Frederico Caldeira Knabben (fredck@fckeditor.net)
-->
<% ' You must set "Enable Parent Paths" on your web site in order this relative include to work. %>
<!-- #INCLUDE file="../../fckeditor.asp" -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
    <head>
        <title>FCKeditor - Sample</title>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
        <meta name="robots" content="noindex, nofollow">
        <link href="../sample.css" rel="stylesheet" type="text/css" />
    </head>
    <body>
        <h1>FCKeditor - ASP - Sample 1</h1>
        This sample displays a normal HTML form with an FCKeditor with full features
        enabled. LÅNE
<%
Response.write "LÅNE"
%>
        <hr>
        <form action="sampleposteddata.asp" method="post" target="_blank">
<%
' Automatically calculates the editor base path based on the _samples directory.
' This is usefull only for these samples. A real application should use something like this:
' oFCKeditor.BasePath = '/fckeditor/' ;    // '/fckeditor/' is the default value.
Dim sBasePath
sBasePath = Request.ServerVariables("PATH_INFO")
sBasePath = Left( sBasePath, InStrRev( sBasePath, "/_samples" ) )

Dim oFCKeditor
Set oFCKeditor = New FCKeditor
oFCKeditor.BasePath    = sBasePath
oFCKeditor.Value    = "This is some <strong>sample text</strong>. You are using <a href=""http://www.fckeditor.net/"">FCKeditor</a>."
Response.write oFCKeditor.Create("FCKeditor1")
%>
            <br>
        </form>
    </body>
</html>
Avatar billede nythjem Nybegynder
03. september 2006 - 03:17 #12
Jeps, det er det du skal!
En helt basic:

str = Replace(str,"æ","&aering;")

Hov, jeg kan se at der er kommet underlige tegn ind i starten af dokumentet. Det kunne godt type på, at du skriver dine ting i utf-8 format. Jeg kan kun anbefale dig at skrive det i ANSI i stedet, jeg har erfaret at nogle servere har svært ved at fortolke ren utf-8..
Avatar billede kasperpagels Nybegynder
03. september 2006 - 10:41 #13
Hvordan gør man det?
Avatar billede nythjem Nybegynder
03. september 2006 - 12:58 #14
Hej Kasper.

Jeg antager du spørger til ANSI vs. utf-8. Det kommer helt an på hvilket program du bruger. Jeg bruger notepad2, dér dobbelt klikker du bare et bestemt sted, så får du den rigtige protekol frem.
Avatar billede kasperpagels Nybegynder
03. september 2006 - 13:19 #15
Hej

Har fx lavet denne metode der skulle konvertere tegnene... Men den skriver heller ikke tegnene ud!

function convertCharacters(tekst)
    nytekst = ""       
        a = "&aring;"
    b = "&aelig;"
        c = "&oslash;"
        nytekst = Replace(tekst, "ø", c)
        nytekst = Replace(tekst, "æ", b)
        nytekst = Replace(tekst, "å", a)       
    convertCharacters = nytekst
end function

Kan man ændre formattet som bliver hentet fra databasen?

Jeg bruger HTMLkit. Forstod ikke helt din sidste pointe.
Avatar billede kasperpagels Nybegynder
03. september 2006 - 13:30 #16
Når jeg i metoden udskriver hvor mange tegn sætningen har, jeg indsatte "Håne", så udskriver den 3. Dvs. når asp på serverside behandler teksten, så får den ikke tegnet å. Det udelades! Hvad gør man?
Avatar billede nythjem Nybegynder
03. september 2006 - 14:00 #17
I din funktion laver du egentlig ikke rigtig nogen behandling, virker funktionen overhovedet ?

Function convertChars(str)

    str = str & Replace(str,"æ","&aelig;")
    str = str & Replace(str,"ø","&oslash;")
    str = str & Replace(str,"å","&aring;")
    str = str & Replace(str,"Æ","&Aelig;")
    str = str & Replace(str,"Ø","&Oslash;")
    str = str & Replace(str,"Å","&Aring;")
   
    Response.Write(str)

End Function
Avatar billede kasperpagels Nybegynder
03. september 2006 - 14:26 #18
Sandt nok - jeg fik rettet metoden efter jeg fik posted den - men ligegyldigt hvad, så ændrer det desværre ikke på det faktum, at str ikke er på mere en 3 tegn, når den får det... ergo der kommer intet specielt tegn ind, den kan konvertere. Din metode virker sådan:

Function convertChars(str)

    str = Replace(str,"æ","&aelig;")
    str = Replace(str,"ø","&oslash;")
    str = Replace(str,"å","&aring;")
    str = Replace(str,"Æ","&Aelig;")
    str = Replace(str,"Ø","&Oslash;")
    str = Replace(str,"Å","&Aring;")
   
    convertChars = str

End Function
Avatar billede nythjem Nybegynder
03. september 2006 - 14:46 #19
Men for søren da, din funktion derover er jo forkert, så der er da ikke noget at sige til det ikke virker. Som du skriver det løber den alle replaces igennem og tager kun den sidste.

Du skal str = str & den i stedet, fuldkommen som min funktion.. :)
Avatar billede kasperpagels Nybegynder
03. september 2006 - 14:55 #20
Nej - du skal ikke... Jeg har jo testet din funktion og den kopierer samme ord 6 gange... Replace funktionen erstatter tegn i stringen og returnerer ordet efter replacen. Problemet er ikke funktionen - problemet er charsettet ASP bruger serverside. Er vi enige om at når funktionens str kun rummer 3 tegn, så hjælper det intet at vi erstatter et tegn der ikke er der....
Avatar billede nythjem Nybegynder
03. september 2006 - 15:09 #21
Ups, my mistake :) Søndag du ved.. :)

:) Hvis problemet udelukkende er serverside skulle du måske prøve at lave en dansk lcid.. ?
Avatar billede kasperpagels Nybegynder
04. september 2006 - 08:52 #22
Tak for alle svar I har givet!

Jeg har nu glæden af at sige at jeg har løst problemet endelig! Et problem der har naget mig i mange måneder.

Da FCKeditor er programmeret i UTF-8 tegnsættet, gjorde det at hver gang jeg forsøgte at skrive danske bogstaver, æøå, mens fckeditor.asp var inkluderet i hjemmesiden, så ville ASP ikke skrive teksten korrekt, den udelod ganske enkelt bogstaverne. Mange forslag er blevet givet og jeg takker for alle svar. Jeg gjorde følgende for at løse problemet:

- Jeg var tidligere blevet rådet til at ændre alle referencer i fckeditorkoden fra utf-8 til iso-8859-1, hvilket jeg gjorde ved hjælp af Simple Search Replace. Den erstattede over hundrede steder hvor det stod - men ligelidt hjalp det.
- Så i stedet skiftede jeg tilbage til UTF-8 og satte også alle mine egne sider til UTF-8, hvorefter en masse andre steder, hvor jeg havde brugt æøå, ikke blev vist korrekt.
- Derefter oprettede jeg følgende to metoder til at konvertere æøå fra textfield og textarea til utf-8 standarden. Men jeg fandt at der var to måder den skrev æøå, henholdsvist: "æ" og "æ", som jeg så konverterede til "&aelig;".

Metoden ser ud som følger i ASP:

Function convertChars(str)
    str = Replace(str,"æ","&aelig;")
    str = Replace(str,"ø","&oslash;")
    str = Replace(str,"Ã¥","&aring;")
    str = Replace(str,"Æ","&Aelig;")
    str = Replace(str,"Ø","&Oslash;")
    str = Replace(str,"Ã…","&Aring;")
    convertChars = str
End Function

Function convertNormalChars(str)
    str = Replace(str,"æ","&aelig;")
    str = Replace(str,"ø","&oslash;")
    str = Replace(str,"Ã¥","&aring;")
    str = Replace(str,"Æ","&Aelig;")
    str = Replace(str,"Ø","&Oslash;")
    str = Replace(str,"Ã…","&Aring;")   
    convertNormalChars = str
End Function

For hver gang en side blev redigeret i mit CMS og før det blev gemt, så konverterede jeg bogstaverne til UTF-8, hvorefter problemet er løst.

- Et enkelt sted, havde jeg også behov for at gemme referencer til filnavn, men da opdagede jeg at metode et ikke kunne bruges, men at filnavne faktisk bruger æøå. Så derfor anvende jeg metode nr to til dette.

Nu virker siden korrekt og skriver samtlige bogstaver korrekt.

Jeg takker mange gange for hjælpen!

Kasper Pagels
Avatar billede kasperpagels Nybegynder
04. september 2006 - 09:14 #23
Tak for alle svar I har givet!

Jeg har nu glæden af at sige at jeg har løst problemet endelig! Et problem der har naget mig i mange måneder.

Da FCKeditor er programmeret i UTF-8 tegnsættet, gjorde det at hver gang jeg forsøgte at skrive danske bogstaver, æøå, mens fckeditor.asp var inkluderet i hjemmesiden, så ville ASP ikke skrive teksten korrekt, den udelod ganske enkelt bogstaverne. Mange forslag er blevet givet og jeg takker for alle svar. Jeg gjorde følgende for at løse problemet:

- Jeg var tidligere blevet rådet til at ændre alle referencer i fckeditorkoden fra utf-8 til iso-8859-1, hvilket jeg gjorde ved hjælp af Simple Search Replace. Den erstattede over hundrede steder hvor det stod - men ligelidt hjalp det.
- Så i stedet skiftede jeg tilbage til UTF-8 og satte også alle mine egne sider til UTF-8, hvorefter en masse andre steder, hvor jeg havde brugt æøå, ikke blev vist korrekt.
- Derefter oprettede jeg følgende to metoder til at konvertere æøå fra textfield og textarea til utf-8 standarden. Men jeg fandt at der var to måder den skrev æøå, henholdsvist: "æ" og "æ", som jeg så konverterede til "&aelig;".

Metoden ser ud som følger i ASP:

Function convertChars(str)
    str = Replace(str,"æ","&aelig;")
    str = Replace(str,"ø","&oslash;")
    str = Replace(str,"Ã¥","&aring;")
    str = Replace(str,"Æ","&Aelig;")
    str = Replace(str,"Ø","&Oslash;")
    str = Replace(str,"Ã…","&Aring;")
    convertChars = str
End Function

Function convertNormalChars(str)
    str = Replace(str,"æ","&aelig;")
    str = Replace(str,"ø","&oslash;")
    str = Replace(str,"å","&aring;")
    str = Replace(str,"Æ","&Aelig;")
    str = Replace(str,"Ø","&Oslash;")
    str = Replace(str,"Å","&Aring;")   
    convertNormalChars = str
End Function

For hver gang en side blev redigeret i mit CMS og før det blev gemt, så konverterede jeg bogstaverne til UTF-8, hvorefter problemet er løst.

- Et enkelt sted, havde jeg også behov for at gemme referencer til filnavn, men da opdagede jeg at metode et ikke kunne bruges, men at filnavne faktisk bruger æøå. Så derfor anvende jeg metode nr to til dette.

Nu virker siden korrekt og skriver samtlige bogstaver korrekt.

Jeg takker mange gange for hjælpen!

Kasper Pagels
Avatar billede nythjem Nybegynder
04. september 2006 - 10:14 #24
Godt du fik løst problemet Kasper..

Har du to profiler ? :)
Avatar billede kasperpagels Nybegynder
04. september 2006 - 11:30 #25
Hej nythjem

Nej, jeg har kun én. Men grunden til de to posts er, at jeg havde den stående på UTF-8 og derfor, ironisk nok, blev tegnene forkert på min post. Hvis du tænker på at jeg svarer på en tråd jeg ikke selv har oprettet, så er det fordi min lillebror Kelvin oprettede et spørgsmål om dette problem.

Tak for din hjælp

Kasper
Avatar billede nythjem Nybegynder
04. september 2006 - 12:43 #26
Hehe.. Det bare fjong.. ;-)
Avatar billede kelvin Nybegynder
04. september 2006 - 18:20 #27
Hej nythjem!

Jeg takker for hjælpen, og ønsker dig en fortsat god dag.
Jeg giver dig de 200point for du hjalp os på vej.
Igen mange tak for hjælpen..

Venlig Hilsen
Kelvin
Avatar billede nythjem Nybegynder
04. september 2006 - 21:41 #28
Tak skal du have..

Meget mindre kunne også have gjort det, men tak for point.. :)
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

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