This will replace 67 special characters with their HTML equivalent. I've used this to generate RSS feeds before, so it should work just fine for you.
<cffunction name="formatXML" access="public" returntype="string">
<cfargument name="strString" required="yes" default="">
<cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("192", 16))#", "ƒ", "all")>
<cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("391", 16))#", "Α", "all")>
<cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("392", 16))#", "Β", "all")>
<cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("393", 16))#", "Γ", "all")>
<cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("394", 16))#", "Δ", "all")>
<cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("395", 16))#", "Ε", "all")>
<cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("396", 16))#", "Ζ", "all")>
<cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("397", 16))#", "Η", "all")>
<cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("398", 16))#", "Θ", "all")>
<cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("399", 16))#", "Ι", "all")>
<cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("39A", 16))#", "Κ", "all")>
<cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("39B", 16))#", "Λ", "all")>
<cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("39C", 16))#", "Μ", "all")>
<cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("39D", 16))#", "Ν", "all")>
<cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("39E", 16))#", "Ξ", "all")>
<cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("39F", 16))#", "Ο", "all")>
<cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("3A0", 16))#", "Π", "all")>
<cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("3A1", 16))#", "Ρ", "all")>
<cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("3A3", 16))#", "Σ", "all")>
<cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("3A4", 16))#", "Τ", "all")>
<cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("3A5", 16))#", "Υ", "all")>
<cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("3A6", 16))#", "Φ", "all")>
<cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("3A7", 16))#", "Χ", "all")>
<cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("3A8", 16))#", "Ψ", "all")>
<cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("3A9", 16))#", "Ω", "all")>
<cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("3B1", 16))#", "α", "all")>
<cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("3B2", 16))#", "β", "all")>
<cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("3B3", 16))#", "γ", "all")>
<cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("3B4", 16))#", "δ", "all")>
<cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("3B5", 16))#", "ε", "all")>
<cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("3B6", 16))#", "ζ", "all")>
<cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("3B7", 16))#", "η", "all")>
<cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("3B8", 16))#", "θ", "all")>
<cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("3B9", 16))#", "ι", "all")>
<cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("3BA", 16))#", "κ", "all")>
<cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("3BB", 16))#", "λ", "all")>
<cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("3BC", 16))#", "μ", "all")>
<cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("3BD", 16))#", "ν", "all")>
<cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("3BE", 16))#", "ξ", "all")>
<cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("3BF", 16))#", "ο", "all")>
<cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("3C0", 16))#", "π", "all")>
<cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("3C1", 16))#", "ρ", "all")>
<cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("3C3", 16))#", "σ", "all")>
<cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("3C4", 16))#", "τ", "all")>
<cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("3C5", 16))#", "υ", "all")>
<cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("3C6", 16))#", "φ", "all")>
<cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("3C7", 16))#", "χ", "all")>
<cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("3C8", 16))#", "ψ", "all")>
<cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("3C9", 16))#", "ω", "all")>
<cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("3D1", 16))#", "ϑ", "all")>
<cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("3D2", 16))#", "ϒ", "all")>
<cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("3D6", 16))#", "ϖ", "all")>
<cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("2022", 16))#", "•", "all")>
<cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("2026", 16))#", "…", "all")>
<cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("2032", 16))#", "′", "all")>
<cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("2033", 16))#", "″", "all")>
<cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("203E", 16))#", "‾", "all")>
<cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("2044", 16))#", "⁄", "all")>
<cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("2118", 16))#", "℘", "all")>
<cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("2111", 16))#", "ℑ", "all")>
<cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("211C", 16))#", "ℜ", "all")>
<cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("2122", 16))#", "™", "all")>
<cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("2135", 16))#", "ℵ", "all")>
<cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("2200", 16))#", "∀", "all")>
<cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("2202", 16))#", "∂", "all")>
<cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("2203", 16))#", "∃", "all")>
<cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("2205", 16))#", "∅", "all")>
</cffunction>