John Wells wrote:
> Hi Everybody,
> 
> Despite all of my Googling and noodling, I can't seem to figure this
> out, and am hoping someone might be able to point me in the right
> direction.
> 
> Scenario:
> - Running Apache 1.3 on OSX 10.4, PHP 5.1.4, MySQL 5.0.19
> - Greek text is stored in a MySQL database, encoding set to UTF-8
> - From within a db admin like CocoaMySQL, the greek text looks normal
> - PHP queries the db table for the greek text
> - no matter how I echo the text to screen (see below), it only
> produces '?????' marks
> 
> What I've tried:
> - force utf-8 headers to be sent  ---> header("Content-type:
> text/html; charset=UTF-8");
> - indicate utf-8 in the meta tag --> <meta http-equiv=Content-Type
> content="text/html; charset=utf-8" />
> - simpley echo the string as is --> echo $greek_string;
> - wrap output in htmlentities() --> echo htmlentities($greek_string,
> ENT_NOQUOTES, 'UTF-8');
> - wrap output in utf8_decode() --> echo utf8_decode($greek_string);
> - If I copy and paste greek characters from the db table into a string
> in my PHP script, and output that, it works just FINE, without any
> htmlentities() or other functions.
> 
> I'm at a loss.  What am I doing wrong?

odds are your not specifying a charset for the connection ... and that the 
default
connection charset is ISO-8859-1 (known as Latin1 in MySQL iirc).

try running these 2 queries after you connect to the DB (might not work, it 
depends on
on MySQL version):

$CharSet = 'UTF-8';
$qry1 = "SET NAMES '{$CharSet}'");
$qry2 = "SET CHARACTER SET {$CharSet}";



> 
> Thanks in advance,
> John W
> 

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to