我从数据库中获取信息,动态生成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
}
}
?>
这是我检索并自动生成网页按钮的方式。
答案 0 :(得分:2)
首先转到phpmyadmin
,然后将Server connection collation
设为utf8mb4_general_ci
然后选择database name
,然后按table
,然后按structure
您将看到表格中的所有列,并使用varchar
或{更改所有列{1}}然后按text
将change
更改为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
}
}
?>
这对我来说很好用