Stò leggendo in giro e cercando di capire.
Mettendo il db in utf8_general_ci sia in Collation che in Collation della Connessione, se faccio partire una query da phpMyAdmin del tipo

INSERT INTO tab_categorie (categoria) VALUES ('場需求')

mi funziona e viene inserita giusta nel db.

Ma se invece faccio partire la query dal php con

$value = '場需求';
$sql="INSERT INTO tab_categorie (categoria) VALUES ('$value')";
mysql_db_query($db_name, $sql, $db) or die ("Errore: ".mysql_error());

allora vengono inseriti nel db dei geroglifici strani... come è possibile? cosa fà il php a quella stringa? eppure se faccio un echo $sql e copio incollo