【问题标题】:Utf-8 not working, query from databaseutf-8 不工作,从数据库查询
【发布时间】:2017-05-01 20:09:27
【问题描述】:

所以我仍然得到“?”在特殊字符上,例如“ã”...

这是我的 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">

结果即时打印,我通过 php 查询得到它们,然后我将它们打印在每个...但我仍然得到奇怪的 carachters。这是我的数据库:

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

我做错了什么?

例如:

$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>";
                   }
          ?>

$local 变量有特殊的字符,它不会显示它们...

【问题讨论】:

  • 您是否尝试将其查看到数据库并查看其值?
  • 什么意思?
  • 我的意思是你有没有尝试从你的数据库中查看它的值,看看它是否没有被编码
  • 在数据库上显示“ã”就好了...顺便说一句,我用php进行查询,然后将值保存在表单上,​​然后我使用javascript接收那些价值观...
  • 你能把显示它的代码包括在哪里吗

标签: php mysql utf


【解决方案1】:

1) 在您的数据库中运行此查询(例如:PHPMyadmin)并确保所有内容(“character_set_filesystem”除外的值为“utf8”。如果没有,您需要先修复数据库,然后再继续:

SHOW VARIABLES LIKE 'character_set_%';

2) 在您的数据库中运行此查询(例如:PHPMyadmin)并确保所有内容都有一个以“utf8_”开头的值。如果没有,请在继续之前修复您的数据库设置:

SHOW VARIABLES LIKE 'collation_%';

3) 在建立 db 连接之后,但在执行任何数据库查询之前,将此行添加到 PHP 代码的开头:

mysqli_set_charset($conn, 'utf8');

4) 利润

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-02
    • 2017-07-11
    相关资源
    最近更新 更多