繁体   English   中英

使用 MySQL 数据库中的 PHP 显示 HTML 友好的特殊字符

[英]Display HTML friendly special characters with PHP from a MySQL db

我来自墨西哥,所以我们的字符串包含一些需要存储和稍后显示的特殊字符。 有没有办法(使用 PHP)从 MySQL 编码字符串并在 html 中使用它?

  <?php 
    function especialidades($dbcesp){
        $q="SELECT NombreEspecialidad FROM especialidad;";
        $r=mysqli_query($dbcesp, $q);

        while ($esp=mysqli_fetch_assoc($r)) {
            ?>
            <button type="button" class="btn btn-default"><?php echo $esp['NombreEspecialidad']; ?></button>
            <?php
        }
    } 
   ?>

这是我为我的网页检索和生成一些按钮的方式,但由于某种原因,无法正确显示。

首先转到您的phpmyadmin然后将Server connection collation utf8mb4_general_ci设置为utf8mb4_general_ci

然后选择你的database name然后按你的table ,然后按上structure ,你会看到你的表里面去的所有列,并使用类型更改所有列varchartext然后再按下change改变了collation ,以utf8_general_ci然后保存然后再尝试输入另一进入你的数据库,现在很清楚,没有任何模糊的词

以及代码类型的顶部

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

以及 php 代码顶部的那些行来定义 utf 字符集

mysql_query("SET NAMES 'utf8'");
mysql_query("SET CHARACTER SET utf8");
header("Content-Type: text/html; charset=UTF-8");

您应该配置数据库以使用 UTF-8。 也不要忘记将 html 上的编码设置为 UTF-8。

另外,请检查以下链接: MySql spanish character data

我不得不将数据库排序规则更改为 utf8_spanish_ci(在 PHPMyAdmin 中创建数据库期间)。

另外,我必须将字符集元标记添加到 html 文档中:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

最后,我使用了 PHP 编码 api,使用如下:

  <?php 
function especialidades($dbcesp){
    $q="SELECT * FROM especialidad;";
    $r=mysqli_query($dbcesp, $q);

    while ($esp=mysqli_fetch_assoc($r)) {
        ?>
        <a href="?page=6&esp=<?php echo $esp['CveEspecialidad']; ?>">
        <button type="button" class="btn btn-default" value="<?php echo $esp['CveEspecialidad']; ?>">

                <?php
                    echo utf8_encode($esp['NombreEspecialidad']); 
                ?>

        </button>
        </a>
        <?php
    }
} 
?>

这对我有用

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM