If the characters are being read properly, it should display it right ? But I t didn’t. > -----Original Message----- > From: Marcos Almeida Azevedo [mailto:marcos.al.azevedo@xxxxxxxxx] > Sent: Tuesday, February 24, 2015 11:06 AM > To: hadi > Cc: Ashley Sheridan; php-general@xxxxxxxxxxxxx > Subject: Re: strange character > > It seems the characters are being read properly. > > On Tue, Feb 24, 2015 at 3:23 PM, hadi <almarzuki2011@xxxxxxxxxxx> wrote: > > > hi, > > > > im getting error using your code > > > > Warning: simplexml_load_string(): Entity: line 17: parser error : > > Entity 'ndash' not defined in /var/www/html/rssfeed/sahafah.php on > > line 24 > > > > Warning: simplexml_load_string(): ليوم الى عدن – in > > /var/www/html/rssfeed/sahafah.php on line 24 > > > > Warning: simplexml_load_string(): ^ in > > /var/www/html/rssfeed/sahafah.php on line 24 > > > > Warning: simplexml_load_string(): Entity: line 19: parser error : > > Entity 'ndash' not defined in /var/www/html/rssfeed/sahafah.php on > > line 24 > > > > Warning: simplexml_load_string(): ليوم الى عدن – in > > /var/www/html/rssfeed/sahafah.php on line 24 > > > > Warning: simplexml_load_string(): ^ in > > /var/www/html/rssfeed/sahafah.php on line 24 > > > > Warning: simplexml_load_string(): Entity: line 56: parser error : > > Entity 'laquo' not defined in /var/www/html/rssfeed/sahafah.php on > > line 24 > > > > Warning: simplexml_load_string(): 3;ات(يمن 24): علمت « in > > /var/www/html/rssfeed/sahafah.php on line 24 > > > > Warning: simplexml_load_string(): ^ in > > /var/www/html/rssfeed/sahafah.php on line 24 > > > > > -----Original Message----- > > > From: Marcos Almeida Azevedo [mailto:marcos.al.azevedo@xxxxxxxxx] > > > Sent: Tuesday, February 24, 2015 4:45 AM > > > To: ash@xxxxxxxxxxxxxxxxxxxx > > > Cc: hadi; php-general@xxxxxxxxxxxxx > > > Subject: Re: strange character > > > > > > How about using > > > > > > $rss= mb_convert_encoding($rss, 'HTML-ENTITIES', 'UTF-8'); instead > > > of > > $rss= > > > mb_convert_encoding($rss, 'UTF-8', 'UTF-8'); > > > > > > On Tue, Feb 24, 2015 at 4:22 AM, Ashley Sheridan > > > <ash@xxxxxxxxxxxxxxxxxxxx> > > > wrote: > > > > > > > On Mon, 2015-02-23 at 23:13 +0300, hadi wrote: > > > > > Im downloading feed from the internet. Im getting strange > > > > > character > > > > (–) im > > > > > not able to get rid of it. > > > > > I tried to use preg_replace(). But not helping > > > > > > > > > > Here is my code > > > > > > > > > > <?php > > > > > > > > > > error_reporting(E_ALL); > > > > > ini_set("display_errors", 1); > > > > > > > > > > > > > > > require 'database.php'; > > > > > > > > > > $url = "http://www.sahafah.net/rss.php"; > > > > > > > > > > > > > > > $rss = file_get_contents($url); > > > > > > > > > > ini_set('mbstring.substitute_character', "none"); $rss= > > > > > mb_convert_encoding($rss, 'UTF-8', 'UTF-8'); > > > > > > > > > > $rss = simplexml_load_string($rss); > > > > > > > > > > > > > > > if($rss) > > > > > { > > > > > $items = $rss->channel->item; > > > > > foreach($items as $item) > > > > > { > > > > > > > > > > $title = $item->title; > > > > > $link = $item->link; > > > > > $published_on = $item->pubDate; > > > > > $description = $item->description; $category = $item->category; > > > > > $guid = $item->guid; > > > > > > > > > > > > > > > $pattern = "<"; > > > > > > > > > > $posfrist = strpos($item->description, $pattern); > > > > > > > > > > if($posfrist !== false) > > > > > > > > > > { > > > > > preg_match('/.*</',$item->description,$match); > > > > > $match1 = str_replace("<","",$match); echo > > > > > '<pre>';print_r($match1);echo '</pre>'; > > > > > > > > > > $string2 = $item->description; > > > > > preg_match('/http.*.jpg/',$string2,$match2); > > > > > echo '<pre>';print_r($match2);echo '</pre>'; > > > > > > > > > > } > > > > > } > > > > > } > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ?> > > > > > > > > > > > > > > > > > > Hi Hadi, > > > > > > > > You've set the convert encoding on the feed you're getting, but > > > > there are a couple of things to check. First, is the PHP script > > > > itself saved as UTF-8. If it isn't, this can have an effect on the > > > > PHP parser where it attempts to guess encodings of things. > > > > > > > > If you're seeing those characters output in your browser, it's > > > > probably also worth checking that you've set a UTF-8 output header > > > > as well, otherwise it defaults (typically) to something like ISO-8859-1. > > > > > > > > Thanks, > > > > Ash > > > > > > > > http://www.ashleysheridan.co.uk > > > > > > > > > > > > > > > > > > > > -- > > > > PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: > > > > http://www.php.net/unsub.php > > > > > > > > > > > > > > > > > -- > > > Marcos | I love PHP, Linux, and Java > > > <http://javadevnotes.com/java-integer-to-string-examples> > > > > > > > -- > Marcos | I love PHP, Linux, and Java > <http://javadevnotes.com/java-integer-to-string-examples> -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php