我有一个名字的数据库
我有一个PHP MySQL查询,从该数据库中获取名称
这些名称包含ž, š, đ, č, ć, etc.
但是当我运行网站时,这些字符显示为�
我的标题中有<meta charset="UTF-8">
,数据库是使用utf8_general_ci
创建的,我也尝试了utf8_unicode_ci
。
我该怎么办?
编辑:如果我对echo使用utf8_encode,则返回不带字符的名称
答案 0 :(得分:1)
您应该设置NAMES字符集:
mysqli_query ($connection, "SET NAMES 'UTF-8'");
答案 1 :(得分:0)
试试这个
mysqli_set_charset ($connection, "utf8");
执行查询之前......
答案 2 :(得分:0)
我在mysqld部分
下的/etc/my.cnf中有这些行 [mysqld]
init_connect='SET collation_connection = utf8_general_ci'
init_connect='SET NAMES utf8'
default-character-set=utf8
character-set-server = utf8
collation-server = utf8_general_ci
如果您的所有脚本都需要它,这将成为全局设置
答案 3 :(得分:0)
在数据库中设置CHARSET = utf8
答案 4 :(得分:0)
尝试:
PHP文件在代码顶部添加以下内容
<?php
header('Content-Type: text/html; charset=utf-8');
?>
连接MYSQL (http://php.net/manual/en/mysqli.set-charset.php)
$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->set_charset("utf8");
注意:确保您的PHP脚本文件保存在UTF8中