【问题标题】:PHP 5.4 and UTF-8 not workingPHP 5.4 和 UTF-8 不工作
【发布时间】:2015-07-07 14:29:45
【问题描述】:

环境:Windows NT WSP-IIS24 6.1 build 7601 (Windows Server 2008 R2 Web Server Edition Service Pack 1) i586 运行带有 PHP 5.4 和 MySQL 5.0.10 的 IIS。 所有文本表都设置为 UTF-8。 mbstring 添加到 PHP 并在 php 中配置。

当我打开数据库的连接时,我发现 UTF-8 是默认设置。

我在标题中设置了 UTF-8。仍然所有非美国字符都被制成?。

我错过了什么?

我应该补充一点,我从数据库中检索到的文本是普通话、俄语、西班牙语等其他语言。

【问题讨论】:

  • 我看过那个帖子,但奇怪的是它没有帮助。
  • 您必须提供重现问题所需的信息。另外,这里涉及到多个组件,其中哪个有问题?
  • 您必须使用实际代码示例添加更多细节来说明您在做什么。 some 问题 somewhere 在细节中,但由于您没有显示任何细节,我们无法真正帮助您。

标签: php mysqli utf-8


【解决方案1】:

连接 MySQL 后尝试使用SET NAMES 'UTF8'

$con=mysqli_connect("host", "user", "pw", "db");
if (!$con)
{
    die('Failed to connect to mySQL: ' .mysqli_connect_errno());
}

/* change character set to utf8 */
if (!$con->set_charset("utf8")) {
    printf("Error loading character set utf8: %s\n", $con->error);
}

正如manual 所说:

SET NAMES 表示客户端将使用什么字符集发送 SQL 对服务器的语句...它还指定服务器应该使用的字符集 用于将结果发送回客户端。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-21
    • 2012-06-01
    相关资源
    最近更新 更多