Skip Navigation LinksHome / Community & Support / Developer Productivity Tools Forums / ASP.NET AJAX > Editor > RadEditor converting Greek characters to their html entities!

Not answered RadEditor converting Greek characters to their html entities!

Feed from this thread
  • Yannis avatar

    Posted on Jun 9, 2010 (permalink)

    Hello everybody,
    I'm using radEditor and I noticed that when I type characters in the Greek language it converts them to their html entities. Is there a preference of some kind to avoid this behaviour? I want the editor to insert the actual unicode characters.

    Thank you in advance,
    Yannis Develekos

    Reply

  • Rumen Rumen admin's avatar

    Posted on Jun 9, 2010 (permalink)

    Hi Yannis,

    There is a new content filter in the latest version of RadEditor named ConvertCharactersToEntities which converts the special characters to entities. You can disable it by setting

    RadEditor1.DisableFilter(Telerik.Web.UI.EditorFilters.ConvertCharactersToEntities);

    in the codebehind. You can test how the content filters work in this live demo: Built-in Content Filters.

    Greetings,
    Rumen
    the Telerik team

    Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items.

    Reply

  • Say Hello to Telerik's PivotGrid for ASP.NET AJAX, Silverlight, WPF and WinForms. Now packed with OLAP support.
  • Yannis avatar

    Posted on Jun 9, 2010 (permalink)

    Hi Rumen,
    Thanks for the super fast responce. I will give it a try.

    Greetings,
    Yannis

    Reply

  • Yannis avatar

    Posted on Jul 7, 2010 (permalink)

    Hi Rumen,
    Just wanted to know... If I disable the ConvertCharactersToEntities filter it will not convert anything at all. If I wanted to instruct the editor to stop converting just the characters of the Greek language would it be possible? For example CKEditor has something like that:
    config.entities_greek = false; 

    Is this possible?

    Regards,
    Yannis

    Reply

  • Rumen Rumen admin's avatar

    Posted on Jul 8, 2010 (permalink)

    Hi Yannis,

    RadEditor does not offer this feature, but if more users request it we will implement it.

    Currently, you can create your own custom filter that will contains only the desired symbols that you want to convert to their entities:

    <telerik:radeditor OnClientLoad="OnClientLoad" runat="server" ID="RadEditor1"></telerik:radeditor>
    <script type="text/javascript">
    function OnClientLoad(editor, args)
    {
       editor.get_filtersManager().add(new MyFilter());
    }
     
    MyFilter = function()
    {
        MyFilter.initializeBase(this);
        this.set_isDom(false);
        this.set_enabled(true);
        this.set_name("ConvertCharactersToEntities");
        this.set_description("This filter converts reserved characters to their html entity names.");
        this.entities = {
            'euro': '\u20ac', 'cent': '\u00a2', 'pound': '\u00a3', 'yen': '\u00a5', 'sect': '\u00a7', 'copy': '\u00a9', 'reg': '\u00ae', 'plusmn': '\u00b1', 'ne': '\u2260',
            'asymp': '\u2248', 'le': '\u2264', 'ge': '\u2265', 'divide': '\u00f7', 'times': '\u00d7', 'iexcl': '\u00a1', 'curren': '\u00a4', 'brvbar': '\u00a6', 'uml': '\u00a8',
            'ordf': '\u00aa', 'trade': '\u2122', 'larr': '\u2190', 'uarr': '\u2191', 'rarr': '\u2192', 'darr': '\u2193', 'harr': '\u2194', 'crarr': '\u21b5', 'lArr': '\u21d0', 'uArr': '\u21d1',
            'rArr': '\u21d2', 'dArr': '\u21d3', 'hArr': '\u21d4', 'loz': '\u25ca', 'spades': '\u2660', 'clubs': '\u2663', 'hearts': '\u2665', 'diams': '\u2666', 'forall': '\u2200',
            'part': '\u2202', 'exist': '\u2203', 'empty': '\u2205', 'nabla': '\u2207', 'isin': '\u2208', 'notin': '\u2209', 'ni': '\u220b', 'prod': '\u220f', 'sum': '\u2211', 'minus': '\u2212',
            'lowast': '\u2217', 'radic': '\u221a', 'prop': '\u221d', 'ang': '\u2220', 'and': '\u2227', 'or': '\u2228', 'cap': '\u2229', 'cup': '\u222a', 'int': '\u222b', 'there4': '\u2234',
            'sim': '\u223c', 'cong': '\u2245', 'equiv': '\u2261', 'sub': '\u2282', 'sup': '\u2283', 'nsub': '\u2284', 'sube': '\u2286', 'supe': '\u2287', 'oplus': '\u2295', 'otimes': '\u2297',
            'perp': '\u22a5', 'sdot': '\u22c5', 'laquo': '\u00ab', 'not': '\u00ac', 'macr': '\u00af', 'deg': '\u00b0', 'sup2': '\u00b2', 'sup3': '\u00b3', 'acute': '\u00b4', 'micro': '\u00b5',
            'para': '\u00b6', 'middot': '\u00b7', 'cedil': '\u00b8', 'sup1': '\u00b9', 'ordm': '\u00ba', 'raquo': '\u00bb', 'frac14': '\u00bc', 'frac12': '\u00bd', 'frac34': '\u00be', 'iquest': '\u00bf',
            'Agrave': '\u00c0', 'Aacute': '\u00c1', 'Acirc': '\u00c2', 'Atilde': '\u00c3', 'Auml': '\u00c4', 'Aring': '\u00c5', 'AElig': '\u00c6', 'Ccedil': '\u00c7', 'Egrave': '\u00c8', 'Eacute': '\u00c9',
            'Ecirc': '\u00ca', 'Euml': '\u00cb', 'Igrave': '\u00cc', 'Iacute': '\u00cd', 'Icirc': '\u00ce', 'Iuml': '\u00cf', 'ETH': '\u00d0', 'Ntilde': '\u00d1', 'Ograve': '\u00d2', 'Oacute': '\u00d3',
            'Ocirc': '\u00d4', 'Otilde': '\u00d5', 'Ouml': '\u00d6', 'Oslash': '\u00d8', 'Ugrave': '\u00d9', 'Uacute': '\u00da', 'Ucirc': '\u00db', 'Uuml': '\u00dc', 'Yacute': '\u00dd', 'THORN': '\u00de',
            'szlig': '\u00df', 'agrave': '\u00e0', 'aacute': '\u00e1', 'acirc': '\u00e2', 'atilde': '\u00e3', 'auml': '\u00e4', 'aring': '\u00e5', 'aelig': '\u00e6', 'ccedil': '\u00e7', 'egrave': '\u00e8',
            'eacute': '\u00e9', 'ecirc': '\u00ea', 'euml': '\u00eb', 'igrave': '\u00ec', 'iacute': '\u00ed', 'icirc': '\u00ee', 'iuml': '\u00ef', 'eth': '\u00f0', 'ntilde': '\u00f1', 'ograve': '\u00f2',
            'oacute': '\u00f3', 'ocirc': '\u00f4', 'otilde': '\u00f5', 'ouml': '\u00f6', 'oslash': '\u00f8', 'ugrave': '\u00f9', 'uacute': '\u00fa', 'ucirc': '\u00fb', 'uuml': '\u00fc', 'yacute': '\u00fd',
            'thorn': '\u00fe', 'yuml': '\u00ff', 'fnof': '\u0192', 'Alpha': '\u0391', 'Beta': '\u0392', 'Gamma': '\u0393', 'Delta': '\u0394', 'Epsilon': '\u0395', 'Zeta': '\u0396', 'Eta': '\u0397',
            'Theta': '\u0398', 'Iota': '\u0399', 'Kappa': '\u039a', 'Lambda': '\u039b', 'Mu': '\u039c', 'Nu': '\u039d', 'Xi': '\u039e', 'Omicron': '\u039f', 'Pi': '\u03a0', 'Rho': '\u03a1',
            'Sigma': '\u03a3', 'Tau': '\u03a4', 'Upsilon': '\u03a5', 'Phi': '\u03a6', 'Chi': '\u03a7', 'Psi': '\u03a8', 'Omega': '\u03a9', 'alpha': '\u03b1', 'beta': '\u03b2', 'gamma': '\u03b3',
            'delta': '\u03b4', 'epsilon': '\u03b5', 'zeta': '\u03b6', 'eta': '\u03b7', 'theta': '\u03b8', 'iota': '\u03b9', 'kappa': '\u03ba', 'lambda': '\u03bb', 'mu': '\u03bc', 'nu': '\u03bd',
            'xi': '\u03be', 'omicron': '\u03bf', 'pi': '\u03c0', 'rho': '\u03c1', 'sigmaf': '\u03c2', 'sigma': '\u03c3', 'tau': '\u03c4', 'upsilon': '\u03c5', 'phi': '\u03c6', 'chi': '\u03c7', 'psi': '\u03c8',
            'omega': '\u03c9', 'thetasym': '\u03d1', 'upsih': '\u03d2', 'piv': '\u03d6', 'bull': '\u2022', 'hellip': '\u2026', 'prime': '\u2032', 'Prime': '\u2033', 'oline': '\u203e', 'frasl': '\u2044',
            'weierp': '\u2118', 'image': '\u2111', 'real': '\u211c', 'alefsym': '\u2135', 'lceil': '\u2308', 'rceil': '\u2309', 'lfloor': '\u230a', 'rfloor': '\u230b', 'lang': '\u2329', 'rang': '\u232a',
            'OElig': '\u0152', 'oelig': '\u0153', 'Scaron': '\u0160', 'scaron': '\u0161', 'Yuml': '\u0178', 'circ': '\u02c6', 'tilde': '\u02dc', 'ensp': '\u2002', 'emsp': '\u2003', 'thinsp': '\u2009', 'zwnj': '\u200c',
            'zwj': '\u200d', 'lrm': '\u200e', 'rlm': '\u200f', 'ndash': '\u2013', 'mdash': '\u2014', 'lsquo': '\u2018', 'rsquo': '\u2019', 'sbquo': '\u201a', 'ldquo': '\u201c', 'rdquo': '\u201d', 'bdquo': '\u201e',
            'dagger': '\u2020', 'Dagger': '\u2021', 'permil': '\u2030', 'lsaquo': '\u2039', 'rsaquo': '\u203a'
        };
    }
     
    MyFilter.prototype =
    {
        getHtmlContent: function(content)
        {
            var regExp = this.createRegEx();
            var entities = this.entities;
            var newContent = content + "";
            newContent = newContent.replace(regExp, function(match, offset, fullText)
            {
                for (var entity in entities)
                {
                    if (entities[entity] == match)
                    {
                        return "&" + entity + ";";
                    }
                }
                return match;
            });
            return newContent;
        },
     
        createRegEx: function()
        {
            var str = "[";
            var entities = this.entities;
            for (var entity in entities)
            {
                str += entities[entity];
            }
            str += "]";
            return new RegExp(str, "g");
        }
    }
     
    MyFilter.registerClass('Telerik.Web.UI.Editor.ConvertCharactersToEntities', Telerik.Web.UI.Editor.Filter);
    </script>


    Best regards,
    Rumen
    the Telerik team
    Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items

    Reply

  • Aristotelis Pitaridis avatar

    Posted on Oct 29, 2010 (permalink)

    I have the same problem but my RadEditor is part of the ItemTemplate inside a RadGrid. How can I apply this command in this case?

    Reply

  • Rumen Rumen admin's avatar

    Posted on Oct 29, 2010 (permalink)

    Hello Aristotelis Pitaridis,


    Here is an example on how to get a reference to RadEditor placed in ItemDataBound of RadGrid:

    protected void RadGrid1_ItemDataBound(object sender, GridItemEventArgs e)
    {
        if ((e.Item is GridEditableItem) && (e.Item.IsInEditMode))
        {
             GridEditableItem edititem = e.Item as GridEditableItem;
             RadEditor radEditor = e.Item.FindControl("RadEditor1") as RadEditor;
             radEditor.OnClientLoad = "OnClientLoad";
        }
    }

    After that attach the OnClientLoad function to the OnClientLoad property of RadEditor and make sure that the JavaScript OnClientLoad function is available on the page when the editor is displayed on the page.


    Best regards,
    Rumen
    the Telerik team
    Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items

    Reply

  • Aristotelis Pitaridis avatar

    Posted on Oct 30, 2010 (permalink)

    Thank you Rumen for your reply but I think that I found a better way to handle it. My code is the following:

    Protected Sub grdArticles_ItemCreated(ByVal sender As Object, ByVal e As Telerik.Web.UI.GridItemEventArgs)
        If (TypeOf e.Item Is GridEditableItem AndAlso e.Item.IsInEditMode) Then
            Dim item As Telerik.Web.UI.GridEditFormItem = e.Item
            Dim MyRadEditor As RadEditor = item("Article").FindControl("ArticleRadEditor")
            MyRadEditor.DisableFilter(Telerik.Web.UI.EditorFilters.ConvertCharactersToEntities)
        End If
    End Sub

    Article is the field in which I have placed the RadEditor control and ArticleRadEditor is the name of the control. In my project it works fine. Please correct me if I have made some kind of mistake in my code.

    Reply

  • Rumen Rumen admin's avatar

    Posted on Nov 1, 2010 (permalink)

    Hello Aristotelis,

    Your way is fine and you can use it to achieve your goal.


    Best regards,
    Rumen
    the Telerik team
    Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items

    Reply

  • Baldwin avatar

    Posted on Feb 16, 2011 (permalink)

    How to fit the same issue for DNN RadEditor? I can't find where to place the javascript code. Any help will appreciated much.

    Kind regards
    Baldwin

    Reply

  • Rumen Rumen admin's avatar

    Posted on Feb 21, 2011 (permalink)

    Hello Baldwin,

    You can see how to executing custom code called on RadEditor's events in DNN in the following KB article: Executing custom code called on RadEditor's events. This solution works only for RadEditor DNN provider provided by Telerik.

    If you use the Professional DNN provider of RadEditor, you should note that it is implementation of the DNN developers and it is not supported by Telerik. Our suggestion is to post the question about how to register the external skin files of RadEditor in DNN in the DNN forums. For example in this one: Taming (customizing) The new Telerik RadEditor.


    Kind regards,
    Rumen
    the Telerik team
    Registration for Q1 2011 What’s New Webinar Week is now open. Mark your calendar for the week starting March 21st and book your seat for a walk through all the exciting stuff we ship with the new release!

    Reply

  • Baldwin avatar

    Posted on Feb 24, 2011 (permalink)

    Thanks for your quick response.
    But try to fix the issue with following the tutorial but no luck. The greek characters aren't rendered correctly.

    For example, the sentence "Για να δουμε πως πα?ζει Ελληνικ?" will render "<p>&Gamma;&iota;&alpha; &nu;&alpha; &delta;&omicron;&upsilon;&mu;&epsilon; &pi;&omega;&sigmaf; &pi;&alpha;?&zeta;&epsilon;&iota; &Epsilon;&lambda;&lambda;&eta;&nu;&iota;&kappa;?</p>" in the HTMl mode. Any advice will be appreciated much.

    Reply

  • Rumen Rumen admin's avatar

    Posted on Mar 1, 2011 (permalink)

    Hi Wangji,

    Did you try to disable the ConvertCharactersToEntities filter of RadEditor which converts the Greek symbols to entities? Open the configuration file and remove the ConvertCharactersToEntities string from the ContentFilters enum values:

    <configuration>
      <property name="Skin">Default</property>
      <property name="NewLineBr">false</property>
      <property name="ContentFilters">EncodeScripts,FixUlBoldItalic,ConvertToXhtml,IECleanAnchors,MozEmStrong,IndentHTMLContent</property>
    ...

    Kind regards,
    Rumen
    the Telerik team
    Registration for Q1 2011 What’s New Webinar Week is now open. Mark your calendar for the week starting March 21st and book your seat for a walk through all the exciting stuff we ship with the new release!

    Reply

  • Baldwin avatar

    Posted on Mar 1, 2011 (permalink)

    Thanks a lot for your help. It works well for us. Also I noted the issue in the post - Fixed RadEditor Issue with Converting Greek Characters to Html Entities. Hope it helps for somebody.

    Reply

  • Yannis avatar

    Posted on Mar 1, 2011 (permalink)

    I believe that disabling the filter is not the best solution. This disables the conversion of symbols to entities which is not what everybody wants. I think that the problem is that the filter assumes that the letters of the greek alphabet are symbols. They are not. It's a language and the filter should not convert them at all. So I would like to be able in a future version to leave the filter on and leave the greek characters as is.

    Yannis

    Reply

  • Rumen Rumen admin's avatar

    Posted on Mar 3, 2011 (permalink)

    Hi Yannis,

    Thank you for your feature request.

    We will discuss your suggestion on the next RadEditor's meeting and decide whether to remove the Greek symbols from the filter.

    All the best,
    Rumen
    the Telerik team
    Registration for Q1 2011 What’s New Webinar Week is now open. Mark your calendar for the week starting March 21st and book your seat for a walk through all the exciting stuff we ship with the new release!

    Reply

  • Say Hello to Telerik's PivotGrid for ASP.NET AJAX, Silverlight, WPF and WinForms. Now packed with OLAP support.

Back to Top

Skip Navigation LinksHome / Community & Support / Developer Productivity Tools Forums / ASP.NET AJAX > Editor > RadEditor converting Greek characters to their html entities!
Related resources for "RadEditor converting Greek characters to their html entities!"

ASP.NET Editor Features  |  Documentation  |  Demos  |  Step-by-step Tutorial  ]