将VARCHAR String从MySQL转换为HTML友好

时间:2015-05-26 03:50:26

标签: php mysql

我从数据库中获取信息,动态生成html代码的某些部分,比如标题。我来自墨西哥,所以我们需要使用一些特殊字符来存储信息;有没有办法(使用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
        }
    } 
   ?>

这是我检索并自动生成网页按钮的方式。

3 个答案:

答案 0 :(得分:2)

首先转到phpmyadmin,然后将Server connection collation设为utf8mb4_general_ci

然后选择database name,然后按table,然后按structure您将看到表格中的所有列,并使用varchar或{更改所有列{1}}然后按textchange更改为collation然后保存,然后尝试输入另一个条目到您的数据库,现在显然没有任何模糊词

和代码类型的顶部

utf8_general_ci

和php代码顶部的那些行来定义utf charset

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

答案 1 :(得分:1)

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

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

答案 2 :(得分:0)

将数据库归类更改为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
    }
} 
?>

这对我来说很好用