PHP MySQL查询返回错误的字符

时间:2014-02-03 10:32:27

标签: php jquery mysql unicode

我有一个名字的数据库 我有一个PHP MySQL查询,从该数据库中获取名称 这些名称包含ž, š, đ, č, ć, etc.

等字符

但是当我运行网站时,这些字符显示为

我的标题中有<meta charset="UTF-8">,数据库是使用utf8_general_ci创建的,我也尝试了utf8_unicode_ci

我该怎么办?

编辑:如果我对echo使用utf8_encode,则返回不带字符的名称

5 个答案:

答案 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中