8个问题PHP / MySQL

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

不幸的是我无法让它工作。

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

(这是特殊字符,如æ/ø/å不起作用)

希望你们能帮忙!


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

$conn = mysql_connect($server, $username, $password);
mysql_set_charset("UTF8", $conn);

根据php.net上的mysql_set_charset的文档:

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

另请参阅:http://nl3.php.net/manual/en/function.mysql-set-charset.php

用以下方式检查当前连接的字符集:

echo mysql_client_encoding($conn);

另见:http://nl3.php.net/manual/en/function.mysql-client-encoding.php

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


请记住将连接编码设置为utf8。

在ext mysqli do $mysqli->set_charset("utf8")

在ext mysql中执行mysql_set_charset("utf8")

与其他数据库扩展你可能需要运行查询如SET NAMES 'utf8'

有关MySQL中连接编码的更多详细信息

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


连接到数据库后,运行查询SET NAMES UTF8

$db = new db(...);
$db->query('set name utf8');

并将此标签添加到标题

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
链接地址: http://www.djcxy.com/p/25127.html

上一篇: 8 problems PHP/MySQL

下一篇: Why are Scandinavian characters converted to UTF