Hi there everyone. I have a problem with some PHP.
I have to make a xml feed that works in IE in UTF-8 format and I'm having major problems with £ signs and '. the poud signs are in the mySQL database in their £ format and cannot be changed.
I've tried adding preg_replaces and str_replaces, no joy.
Here is the basic code which pulls all the right info, just with ? instead of £ and apostrophes.
Please help.
<?php
$username = ""; //Database Username
$password = ""; //Database Password
$hostname = ""; //Database Host
$dbname = ""; //Database (or Catalog in MySQL parlance) name
$dbh = mysql_connect($hostname, $username, $password) or die("Could not connect to database server");
$selected = mysql_select_db($dbname, $dbh) or die("Database not found or problem connecting");
$result = mysql_query("SELECT employerid, expiry, postdate, position, hour, contract, salary, subcounty, description, jobref, jobid FROM jobs");
// if the file exists already, delete it first to flush data
$xmlfeedfile = "trovit.xml";
$filehandle = fopen($xmlfeedfile, 'w');
$itemLink = $fullurl.'/info_jobid_'. $b[jobid].'.html';
$xmlString = '<'.'?'.'xml version="1.0" encoding="utf-8" '.'?' .'>
<trovit>';
fwrite($filehandle, $xmlString);
while ($row = mysql_fetch_assoc($result)) {
if(strtotime($row['expiry']) < time()) {
continue;
}
$pos = ($row['position']);
$date = ($row['postdate']);
$ref = ($row['jobref']);
$desc = ($row['description']);
$jid = ($row['jobid']);
$sal = ($row['salary']);
$loc = ($row['subcounty']);
$xmlString = "<ad>\n\t<id><![CDATA[{$ref}]]></id>\n\t<title><![CDATA[{$pos}]]></title>\n\t
<url><![CDATA[http://www.xxxxxxxxxxxxx.co.uk/info_jobid_{$jid}.html]]></url>\n\t<content><![CDATA[{$desc}]]></content>\n\t<city><![CDATA[{$loc}]]></city>\n\t<salary><![CDATA[{$sal}]]></salary>\n\t<date><![CDATA[{$date}]]></date>\n</ad>";
fwrite($filehandle, $xmlString);
}
mysql_close($dbh);
fwrite($filehandle, "</trovit>");
fclose($filehandle);
?>