473,804 Members | 3,094 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

I can't get rid of wierd characters in my RSS feed

113 New Member
Hi,

I've created a utf8 encoded RSS feed which presents news data drawn from a database. I've set all aspects of my database to utf8 and also saved the text which i have put into the database as utf8 by pasting it into notepad and saving as utf8. So everything should be encoded in utf8 when the RSS feed is presented to the browser, however I am still getting the wierd question mark characters for pound signs :(

Here is my RSS feed code (coldfusion):

Expand|Select|Wrap|Line Numbers
  1. <cfsilent>
  2. <!--- Get News --->
  3. <cfinvoke component="com.news" method="getAll" dsn="#Request.App.dsn#" returnvariable="news" />
  4. </cfsilent>
  5. <!--- If we have news items --->
  6. <cfif news.RecordCount GT 0>
  7. <!--- Serve RSS content-type --->
  8. <cfcontent type="application/rss+xml">
  9. <!--- Output feed --->
  10. <cfcontent reset="true"><?xml version="1.0" encoding="utf-8"?>
  11. <cfoutput>
  12. <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  13.     <channel>
  14.         <title>News RSS Feed</title>
  15.         <link>#Application.siteRoot#</link>
  16.         <description>Welcome to the News RSS Feed</description>
  17.         <lastBuildDate>Wed, 19 Nov 2008 09:05:00 GMT</lastBuildDate>
  18.         <language>en-uk</language>
  19.         <atom:link href="#Application.siteRoot#news/rss/index.cfm" rel="self" type="application/rss+xml" />
  20.  
  21.         <cfloop query="news">
  22.         <!--- Make data xml compliant --->
  23.         <cfscript>
  24.            news.headline = replace(news.headline, "<", "&lt;", "ALL");
  25.            news.body = replace(news.body, "<", "&lt;", "ALL");
  26.            news.date = dateformat(news.date, "ddd, dd mmm yyyy");
  27.            news.time = timeformat(news.time, "HH:mm:ss") & " GMT"; 
  28.         </cfscript>        
  29.         <item>
  30.             <title>#news.headline#</title>
  31.             <link>#Application.siteRoot#news/index.cfm?id=#news.id#</link>
  32.             <guid>#Application.siteRoot#news/index.cfm?id=#news.id#</guid>
  33.             <pubDate>#news.date# #news.time#</pubDate>
  34.             <description>#news.body#</description>
  35.         </item>
  36.         </cfloop>
  37.     </channel>
  38. </rss>
  39. </cfoutput>
  40. <cfelse>
  41. <!--- If we have no news items, relocate to news page --->
  42. <cflocation url="../news/index.cfm" addtoken="no">
  43. </cfif> 
  44.  
Has anyone any suggestions? I've done loads of research but can't find the right answers :(

Thanks in advance,

Chromis
Dec 12 '08 #1
7 4312
Dormilich
8,658 Recognized Expert Moderator Expert
does it help if you use &#163;? (I know that may be only a workaraound, but from the code I can tell nothing without the actual feed)

is £ the only character outside the ascii charset? maybe your generator has some problems with utf-8 or doesn't know which charset to use....

regards

PS please don't post your questions in the insights section, ask a moderator to move it to the answers section.
Dec 12 '08 #2
chromis
113 New Member
Hi Dormilich thanks for your reply. My apologies, I am aware of the answers section but I accidentally put it in here, it's very easy to make the mistake sadly (preffered the old layout!).

Yes the only bad character is the pound sign, I've tryed replacing it manually in the database presuming that that would replace the chracter with the utf8 equivalent but it didn't work. If i use the &pound; it breaks the feed. I could use cdata but I need to display paragraph formatting, and using cdata displays the p element tags.
Dec 12 '08 #3
Dormilich
8,658 Recognized Expert Moderator Expert
&pound; breaks your feed because it's an undefined entity (you'd need a DTD to fix that). have you tried &#163;? this should not break the feed.

regards
Dec 12 '08 #4
chromis
113 New Member
Ok i've replaced all occurences of £ with £ it now works great thanks! Why would the pound sign not be recognised though, do you think that when i saved the file as utf8 it didn't convert the character properly?
Ideally i would like to create a function in coldfusion which will doctor text and make it utf8 compliant, do you know of the best way to do this?

I am most of the way there with the following function, apart from putting some code in to replace the pound signs what other ways could i improve it?

Expand|Select|Wrap|Line Numbers
  1. <cfcomponent>
  2.     <cffunction name="CustomParagraphFormatXMLSafe" access="public" returntype="string">
  3.         <cfargument name="paragraph" type="string" required="yes">
  4.  
  5.         <cfscript>
  6.         /**
  7.          * Returns a XHTML string suitable for insertion into a database in the UTF-8 encoding format.
  8.          * The string is then wrapped with opening and closing paragraph tags whilst ignoring list elements.
  9.          * 
  10.          * @param paragraph String you want XHTML / XML formatted. 
  11.          * @return Returns a string. 
  12.          * @author **** 
  13.          * @version 1.0, December 10th, 2008
  14.          */
  15.  
  16.         var returnValue = '';
  17.         var newParagraph = arguments.paragraph;
  18.         var sqlList = "-- ,'";
  19.         var replacementList = "#chr(38)##chr(35)##chr(52)##chr(53)##chr(59)##chr(38)##chr(35)##chr(52)##chr(53)##chr(59)# , #chr(38)##chr(35)##chr(51)##chr(57)##chr(59)##chr(163)#";
  20.  
  21.         /* Replace pound signs */
  22.         Replace(newParagraph,"£","&pound;");
  23.  
  24.         /* Make sql safe */
  25.         newParagraph = trim(replaceList( newParagraph , sqlList , replacementList ));    
  26.  
  27.         /* Make XML and UTF-8 Safe */
  28.         newParagraph = XMLFormat(CharsetEncode(CharsetDecode(newParagraph,"utf-8"),"utf-8"));
  29.  
  30.         /* Break into paragraphs */
  31.         newParagraph = ListToArray(newParagraph,Chr(13) & Chr(10));
  32.         newParagraphCount = ArrayLen(newParagraph);
  33.  
  34.         for(i=1;i LTE newParagraphCount;i=i+1) {
  35.  
  36.             //WriteOutput(newParagraph[i]);
  37.  
  38.             /* Ignore blank lines */
  39.             if(newParagraph[i] NEQ "") {
  40.  
  41.                 /* Remove excess paragraph elements */
  42.                 REReplace(newParagraph[i], "<?p*>", "", "All");
  43.  
  44.                 /* Loop through array of paragraphs wrapping in p elements, skipping list elements */
  45.                 containsList = REFind("<\/?ul[^>]*>$|<\/?li[^>]*>",newParagraph[i]); //
  46.                 if(containsList EQ 0) { 
  47.                     returnValue = returnValue & "<p>" & newParagraph[i] & "</p>" & Chr(13) & Chr(10);
  48.                 }
  49.                 else {
  50.                     returnValue = returnValue & newParagraph[i] & Chr(13) & Chr(10);                
  51.                 }
  52.             }
  53.         }
  54.         return trim(returnValue);
  55.         </cfscript>
  56.     </cffunction>
  57. </cfcomponent>
  58.  
Dec 12 '08 #5
Dormilich
8,658 Recognized Expert Moderator Expert
@chromis
this is a question more suited in the coldfusion forum. I have never used CF and I'm probably no help there....

regards
Dec 12 '08 #6
chromis
113 New Member
Ok thanks anyway, i'll ask in the cf forum.
Dec 15 '08 #7
Frinavale
9,735 Recognized Expert Moderator Expert
I've moved your thread to the ColdFusion forum.
Hopefully you'll get more help here.

-Moderator Frinny
Dec 16 '08 #8

Sign in to post your reply or Sign up for a free account.

Similar topics

9
1963
by: lawrence | last post by:
I'm running this page: http://www.krubner.com/rss/page938.xml through this validator: http://rss.scripting.com/?url=http%3A%2F%2Fwww.krubner.com%2Frss%2Fpage938.xml
4
1903
by: lkrubner | last post by:
Whenever users write a post in Microsoft Word and then post it to their weblogs using my PHP software, their RSS feed ends up being corrupted with garbage characters which violate the well-formedness of their XML and therefore cause their newsreaders to die. This function will probably make the character strings completely safe for XML? I don't care about having garbage characters in the RSS feed, I just want the RSS feed to show up,...
4
22779
by: intl04 | last post by:
I have a memo field that is included in some Access reports I created. Is there some way for the memo field to display nicely formatted text, with line breaks between paragraphs? Or is it necessary to export the report? I tried exporting a report by using the .rtf rich-text format (the plain-text format was the only other word-processing option listed when exporting). I then opened the .rtf file in Word. However, it looks like some...
3
1412
by: Sathyaish | last post by:
A practice excercise from K&R. Kindly read the comments within the program. I'd be very grateful to people who helped. Why is it that I get the wierd face-like characters on the screen instead of the boolean output 0s or 1s? #include <stdio.h> /*This program is made to check that leaving the brackets around the epxression (c=getchar()) in the statement while ((c=getchar()) !=EOF) produces a boolean output in
2
3049
by: Buddy Ackerman | last post by:
Apparently .NET strips these white space characters (MSXML doesn't) regardless of what the output method is set to. I'm using <xsl:text> </xsl:text> to output a tab character and <xsl:text> </xsl:text> to output a carriage return and line feed but they get stripped at some point. I'm passing a StringWriter to the XslTransform.Transform method. Anyway to get this to actually output the tab and carriage and line feed characters?
2
3203
by: lawrence k | last post by:
2 years ago I asked, on this newsgroup, how to weed out non-UTF-8 characters from my RSS feed. I was told that I could not do so with certainty, but I could try various tricks that would give me maybe 99%. I notice, however, that XML parsers seem to have 100% certainty when they find bad characters. Consider the last error that I get from this validation service: ...
1
1858
by: =?Utf-8?B?RGlmZmlkZW50?= | last post by:
Hi All, I have created an RSS feed reader. However, the feed that I am trying to read has some invalid characters which my reader does not like. I have no control on the RSS feed but I would like to be able to read the feed. Is there a way I could handle these invalid characters and replace them with something else in my reader? Thanks for your suggestions!
14
3619
by: jt | last post by:
hello everyone.., i'm using ubuntu 8.04 OS. I'm not able to output the non-printable ascii chatacters. for eg. printf("%c",1); // nothing is outputted..... is there any way to output these characters...???
1
10302
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
10069
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
9130
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
7608
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
6844
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
5503
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
1
4277
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
3802
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
3
2975
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.