I'v tried converting the text to or from utf8… didn't seem to help
Im getting:
"It’s Getting the Best of Me"
It should be:
"It’s Getting the Best of Me"
Im getting this data from a url -> http://www.tvrage.com/quickinfo.php?show=Surviver&ep=20x02&exact=0
Source: Tips4all
To convert to HTML entities:
ReplyDelete<?php
echo mb_convert_encoding(
file_get_contents('http://www.tvrage.com/quickinfo.php?show=Surviver&ep=20x02&exact=0'),
"HTML-ENTITIES",
"UTF-8"
);
?>
See docs for mb_convert_encoding for more encoding options.
Your content is fine, the problem is with the headers the server is sending:
ReplyDeleteConnection:Keep-Alive
Content-Length:502
Content-Type:text/html
Date:Thu, 18 Feb 2010 20:45:32 GMT
Keep-Alive:timeout=1, max=25
Server:Apache/2.2.8 (Ubuntu) PHP/5.2.4-2ubuntu5.7 with Suhosin-Patch
X-Powered-By:PHP/5.2.4-2ubuntu5.7
Content-Type should be set to Content-type: text/plain; charset=utf-8, because this page is not HTML and uses the utf-8 encoding (chromium on mac guesses ISO-8859-1 and displays the characters you're describing)
If you are not in control of the site, specify the encoding as UTF-8 to whatever function you use to retrieve the content (not familiar enough with PHP to know how exactly)
Make sure your html header specifies utf8
ReplyDelete<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
That usually does the trick for me (obviously if the content IS utf8).
You don't need to convert to html entities if you set the content-type.
I looked at the link, and it looks like UTF-8 to me. i.e., in Firefox, if you pick View, Character Encoding, UTF-8, it will appear correctly.
ReplyDeleteSo, you just need to figure out how to get your PHP code to process that as UTF-8. Good luck!
It sounds like you're using standard string functions on a UTF8 characters (’) that doesn't exist in ISO 8859-1. Check that you are using Unicode compatible PHP settings and functions. See also the multibyte string functions.
ReplyDelete