Per i dati precedenti "vecchi" prova con latin1.
Codice PHP:
<?php
/**
* Funzionalità di dialogo col database
* Set di funzioni da core che implementano il dialogo gestito col db
*/
/**
* Connettore al database MySql
*/
function gdrcd_connect()
{
static $db_link = false;
if ($db_link === false)
{
$db_user = $GLOBALS['PARAMETERS']['database']['username'];
$db_pass = $GLOBALS['PARAMETERS']['database']['password'];
$db_name = $GLOBALS['PARAMETERS']['database']['database_name'];
$db_host = $GLOBALS['PARAMETERS']['database']['url'];
$db_error = $GLOBALS['MESSAGE']['error']['db_not_found'];
#$db = mysqli_connect($db_host, $db_user, $db_pass)or die(gdrcd_mysqli_error());
#mysqli_select_db($db_name)or die(gdrcd_mysqli_error($db_error));
$db_link = mysqli_connect($db_host, $db_user, $db_pass, $db_name);
mysqli_query($db_link, "SET NAMES 'latin1'");
mysqli_set_charset($db_link, 'latin1');
if (mysqli_connect_errno())
gdrcd_mysqli_error($db_error);
}
return $db_link;
}
/**
* Chiusura della connessione col db MySql
* @param resource $db: una connessione mysqli
*/
function gdrcd_close_connection($db)
{
mysqli_close($db);
}
$db_link = gdrcd_connect();
Impostare la codifica dopo la connessione e non prima.
In sintesi per prelevare dati nel database si utilizza l'istruzione SQL SELECT, che convertito in stringa php è qualcosa come
Codice PHP:
$var = mysqli_query($db_link, 'SELECT * tabella');
var_dump(urlencode($var['nome_campo']));