UTF-8问题PHP/MySQL

UTF-8问题PHP/MySQL,php,mysql,utf-8,Php,Mysql,Utf 8,我一直使用ISO-8859-1编码,但现在我要转到UTF-8 不幸的是,我不能让它工作 我的MySQL数据库是UTF-8,我的PHP文档是用UTF-8编码的,我设置了一个UTF-8字符集,但它仍然不能工作 (像æ/ø/å这样的特殊角色不起作用) 希望你们能帮忙 记住也要将连接编码设置为utf8 在ext\mysqli中 $mysqli->set\u字符集(“utf8”) 在ext\mysql中 mysql\u set\u字符集(“utf8”) 对于其他db扩展,您可能必须像下面这样运行查询 设置

我一直使用ISO-8859-1编码,但现在我要转到UTF-8

不幸的是,我不能让它工作

我的MySQL数据库是UTF-8,我的PHP文档是用UTF-8编码的,我设置了一个UTF-8字符集,但它仍然不能工作

(像æ/ø/å这样的特殊角色不起作用)


希望你们能帮忙

记住也要将连接编码设置为utf8

在ext\mysqli中
$mysqli->set\u字符集(“utf8”)

在ext\mysql中
mysql\u set\u字符集(“utf8”)

对于其他db扩展,您可能必须像下面这样运行查询
设置名称“utf8”


正如其他人指出的,确保您的源代码是utf-8编码的也有帮助。请特别注意没有BOM(字节顺序标记)-它将在执行任何代码之前发送到浏览器,因此无法使用标题或会话。

是否存在此错误?MySql SELECT UNION非法混合排序规则错误?只需将整个mysql设置为UTF8即可

SET character_set_connection = utf8;

连接到mysql后,请尝试以下操作:

mysql_query("SET NAMES 'utf8'");

并将PHP文档编码为不带BOM的UTF-8,连接到db后,运行查询集名称UTF8

$db = new db(...);
$db->query('set name utf8');
并将此标记添加到标题

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

确保与数据库的连接也使用以下字符集:

$conn = mysql_connect($server, $username, $password);
mysql_set_charset("UTF8", $conn);
根据php.net上的
mysql\u set\u charset
文档:

Note:
This is the preferred way to change the charset. Using mysql_query() to execute 
SET NAMES .. is not recommended.
另见:

使用以下命令检查当前连接的字符集:

echo mysql_client_encoding($conn);
另见:


如果您完成了这些操作并向表中添加了奇怪的字符,您将看到它显示正确。

我也遇到过同样的问题,但现在问题解决了。以下是解决方案:

第一:更新ur表 更改表tbl_名称 默认字符集utf8 核对utf8\u常规\u ci

第二: 在HTML代码的head部分添加以下内容:

问候
Saleha A.Latif

如今,PDO是使用mysql的推荐方式。这样,您应该使用连接字符串来设置编码。例如:“mysql:host=$host;dbname=$db;charset=utf8”

您的元标记是否设置为UTF-8?以下是一些关于编码问题的有用UTF-8技巧和解决方案:嗯,这些字符到底有什么不起作用?上面粘贴的内容是有效的utf8。此http代理没有任何帮助。为什么不发送原始HTTP头?请注意,从PHP5.5.0开始,
mysql\u set\u charset
已被弃用,请参阅。作为参考,该页面声明:警告:从PHP5.5.0开始,此扩展已被弃用,将来将被删除。相反,应该使用MySQLi或PDO_MySQL扩展;()