Enabling Field-Level Support For Accented Characters

By default, when you enter accented Western European characters in a rich text-enabled field, the rich text editor encodes the accented characters as HTML entities before the system stores the data in the database. For example, the word Französisch is stored as <p>Franz&ouml;sisch</p>. As a result of being encoded as HTML entities, the characters (and affected data) appear as the user entered the data only when viewed in HTML, such as on a transaction page. When the data is viewed in a non-HTML format, such as reporting, searches, queries, or direct SQL, the characters do not appear as expected.

You can enable support for accented characters at these two levels:

  • The individual rich text field.

  • System-wide.

To enable support for accented characters at the individual field level:

  1. Create a custom HTML definition for the specific field.

    See Creating Custom Configurations.

  2. Add these two lines to the HTML in the definition:

    CKEDITOR.config.entities_latin = false; CKEDITOR.config.entities_greek = false;

  3. Save the HTML definition.

    Important! You must use this naming convention: PT_RTE_CFG_<name>.

  4. To use the new configuration, open the Long Edit Box Page Field Properties dialog box; select the Options tab; click the Configuration Settings Iddrop-down list box; and then select the HTML definition name from the list of values that appear.

    See Setting Page Field Properties for Controls.

  5. Click the OK button and save the page definition.

Sample HTML

The two relevant lines of code appear in bold in this sample HTML:

/*
Copyright (c) 2003-2009, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/

CKEDITOR.config.entities_latin = false;CKEDITOR.config.entities_greek = false;
CKEDITOR.editorConfig = function( config )
{
	// Define changes to default configuration here. For example:
	// config.autoLanguage = false;
	// config.defaultLanguage = 'pt-br';
	config.skin='office2003';
	config.resize_enabled = false;
	config.removePlugins = 'elementspath';
	
	config.toolbar =
[
	['Maximize','Preview','Print','-','Cut','Copy','Paste','-','Undo','Redo','-','Find','Replace','-','HorizontalRule','Table','imageUPLOAD','Link','Unlink','SpecialChar'],
	['Format','Font','FontSize','-','Bold','Italic','Underline','Strike'],
	['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock','-','NumberedList','BulletedList','Outdent','Indent','-','TextColor','BGColor']
];

config.keystrokes =
[
	[ CKEDITOR.ALT + 121 /*F10*/, 'toolbarFocus' ],
	[ CKEDITOR.ALT + 122 /*F11*/, 'elementsPathFocus' ],
	[ CKEDITOR.SHIFT + 121 /*F10*/, 'contextMenu' ],
	[ CKEDITOR.CTRL + 90 /*Z*/, 'undo' ],
	[ CKEDITOR.CTRL + 89 /*Y*/, 'redo' ],
	[ CKEDITOR.CTRL + CKEDITOR.SHIFT + 90 /*Z*/, 'redo' ],
	[ CKEDITOR.CTRL + 76 /*L*/, 'link' ],
	[ CKEDITOR.CTRL + CKEDITOR.SHIFT + 76 /*L*/, 'unlink' ],
	[ CKEDITOR.CTRL + 66 /*B*/, 'bold' ],
	[ CKEDITOR.CTRL + 73 /*I*/, 'italic' ],
	[ CKEDITOR.CTRL + 85 /*U*/, 'underline' ],
	[ CKEDITOR.CTRL + CKEDITOR.ALT + 13 /*ENTER*/, 'maximize' ],
	[ CKEDITOR.CTRL + 77 /*M*/, 'imageUPLOAD' ]	

];

};