salve a tutti ho un problema non da poco che non riesco a risolvere in un database che ho devo prelevare la colonna 'descrizioni' il problema è che il charset è settato su latin1_swedish_ci, ho pensato di risolvere con mysqli_set_charset($conn, "latin1"), ma pultroppo non funziona.
guadando in rete ho provato anche a cavarmela cosi
Codice PHP:
iconv(mb_detect_encoding($description), "UTF-8", $description);
ma inutilmente e quindi non mi rimane che chiedere aiuto.
Di seguito vi posto un "riassunto del mio script ridotto all'osso":
Codice PHP:
<?php
// rendo gli errori visibili
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL | E_STRICT);
// mi connetto al db
$conn = mysqli_connect('localhost', 'root','', 'test');
if ($conn->connect_error) {
die('Errore di connessione (' . $conn->connect_errno . ') '
. $conn->connect_error);
}
//imposto il charset : se inserisco latin_1 mi da errore
mysqli_set_charset($conn, "latin1");
$output = '';
//eseguo una query prendo i risultati e li stampo nella pagina html che a il charset utf-8
$sql = $conn->query("SELECT * FROM `apps_item` WHERE app_id = 3;");
if(mysqli_num_rows($sql) > 0){
while ($row = mysqli_fetch_array($sql)){
$description = $row['description'];
$output .= '<p>'.$description.'</p>';
}
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>sostituisci testi</title>
</head>
<body>
<?php echo $output; ?>
</body>
</html>
Grazie dell'aiuto e del vostro tempo.