CASE CLOSED: This is a strange one. I couldn’t see any reason why the £ would not appear, and now see that it is appearing. To answer Chris’ comment below, yes, the table is in Unicode and the page where the £ would have been entered is Unicode, so we’ll just assume this was some kind of odd glitch …
In our new MySQL database to which we are adding records using a Perl script, the entire thing now in Unicode, keying in the sign for pounds sterling (£) is resulting in an error character. This may be due to it being enclosed in apostrophes in our script. The field is called header and the variable being added to it is $header. Can you help us fix this? Thanks.
The relevant line is here:
$db->do(“INSERT INTO news (url, header, country, country2, date, priority, userid, source, formoreinfo, language, regreqd, keywords, image, actnowcampaigncode, state, dateposted) VALUES (‘$url’, ‘$header’, ‘$country1′, ‘$country2′, $date, $priority, ‘$userid’, ‘$source’, ‘$formoreinfo’, ‘$language’, ‘$regreqd’, ‘$keywords’, ‘$image’, ‘$actnowcampaigncode’, ‘$state’, $date)”) || die (print qq|<span style=”color: red; font-weight: bold; background-color: yellow; padding: 5px; border: 1px red dotted”>Could not add record.</span>|);
3 September 2008 at 11:41 am
my first thought was -
http://xkcd.com/327/
3 September 2008 at 3:01 pm
Yishaym is right. Maybe escape the pound sign first or convert it to an HTML entity before writing it to the variable in your INSERT statement.
Also check to make sure that your table actually is in Unicode.
cmkl