2016-12-16 1 views
1

Donc je reçois toujours "?" sur caracthers spéciaux, comme « ã » ...Utf-8 ne fonctionne pas, requête de la base de données

est ici le début de mon index.php:

<?php 
header('Content-Type: text/html; charset=UTF-8'); 
?> 
<!DOCTYPE html> 
<html> 
<head> 
    <meta charset="utf-8"> 
    <meta http-equiv="content-type" content="text/html; charset=utf-8"> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge"> 
    <title>INNPORT</title> 
    <meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport"> 
    <link rel="stylesheet" href="bootstrap/css/bootstrap.min.css"> 
    <link rel="stylesheet" href="dist/font-awesome/css/font-awesome.min.css"> 
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/ionicons/2.0.1/css/ionicons.min.css"> 
    <link rel="stylesheet" href="dist/css/estilos.min.css"> 
    <link rel="stylesheet" href="dist/css/skins/skin-blue.min.css"> 
    <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script> 
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js"></script> 
    <link href="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.2.2/css/bootstrap-combined.min.css" rel="stylesheet"> 
    <link rel="stylesheet" type="text/css" media="screen" href="http://tarruda.github.com/bootstrap-datetimepicker/assets/css/bootstrap-datetimepicker.min.css"> 

Les résultats d'impression im, je les reçois avec une requête php, et je les imprimer sur un pour chaque ... Mais je reçois toujours des carachters étranges. Voici ma base de données:

https://imgur.com/a/4y4Uc

Qu'est-ce que je fais mal?

Par exemple:

$query = "SELECT * FROM credenciais_sensores where ambiente = '1'"; 
    $results2 = mysqli_query($conn, $query); 
<?php 

       foreach ($results2 as $result){ 
         $local = $result['local']; 
        echo "<li><a class='clsPostData1' data-local='".$result['local']."' data-salaid='".$result['salaid']."' data-salakey='".$result['salakey']."'href='#'><span class='fontsala'>".$local."</a></li>"; 
        } 
      ?> 

La variable locale $ ont caracthers spéciales, et ce ne est pas les dispalying ...

+0

Avez-vous essayé de le regarder à la base de données et de voir sa valeur? – Beginner

+0

que voulez-vous dire? – Emerenciana

+0

Je veux dire avez-vous essayé de voir sa valeur de votre base de données voir si elle n'a pas été codée – Beginner

Répondre

0

1) Exécutez cette requête dans la base de données (par exemple: phpMyAdmin) et assurez-vous tout (sauf « character_set_filesystem » a une valeur de « UTF8 » Sinon, vous avez une fixation de votre base de données à faire avant d'aller plus loin.

SHOW VARIABLES LIKE 'character_set_%'; 

2) exécuter cette requête dans votre base de données (par exemple, : PHPMyadmin) et assurez-vous que tout a une valeur commençant par "utf8_". Sinon, fixer les paramètres de votre base de données avant d'aller plus loin:

SHOW VARIABLES LIKE 'collation_%'; 

3) Ajouter cette ligne au début de votre code PHP, après la connexion db est établie, mais avant toute requête de base de données est exécutée:

mysqli_set_charset($conn, 'utf8'); 

4) Profit