5

The issue here is that the EE example feed encloses the title between CDATA tags, which instructs the feed reader to ignore any entities in that text and output it exactly as is. The solution to this is to replace this: <title><![CDATA[{title}]]></title> ...with this: <title>{exp:xml_encode}{title}{/exp:xml_encode}</title> ...


4

unexplainedBacn is right. Or you can also use the XML Encode plugin for this. It's actually included with ExpressionEngine This plugin converts reserved XML characters to entities. It is used in the RSS templates. To use this plugin, wrap anything you want to be processed by it between these tag pairs: {exp:xml_encode} text you want ...


3

I figured it out. in API_channel_entries.php, the title was being brought in before insertion like this: 'title' => ($this->EE->config->item('auto_convert_high_ascii') == 'y') ? ascii_to_entities($data['title']) : $data['title'], I don't update regularly (we've made a lot of hacks to make EE work for us) so it's likely just my issue but that ...


3

I thought I'd provide the response that Ellis Lab gave me for this issue, for others who may need it in the future. Unfortunately, it doesn't solve my issue, since rolling back the database at this point really can't be done. The client gets hundreds of new entries into EE2 every couple of days and its been almost a month since the transition. That said here ...


2

I always do this with a simple plugin which runs unformatted text through EE/CodeIgniter's format_characters() method (though rather than use the plugin tag in my template, I usually select it as the formatting method for that field or Matrix column). I've thrown it up on GitHub just now.


1

As a workaround, you could wrap the offending content in <![CDATA[{content}]]> tags. Like so: <description> <![CDATA[ {body} ]]> </description> This won't actually escape the characters, but it will tell the validator to not worry about it.


1

There is a config variable called "protect_javascript" which needs to be set to "no". $config['protect_javascript'] = 'n'; EDIT: You can also use Stash to solve this issue too. {exp:stash:set name="jwplayer"} jwplayer({my-video}).setup({...}); {/exp:stash:set} Then you would use the get tag and output this parsed data within a script tag. <script&...


1

I saw this on another site that used a different CMS, it turned out to be an issue with magic_quotes on the server - we disabled magic-quotes and TinyMCE worked fine after that.


Only top voted, non community-wiki answers of a minimum length are eligible