【问题标题】:PHP mysql charset utf8 problems [duplicate]PHP mysql charset utf8问题[重复]
【发布时间】:2012-12-13 15:59:09
【问题描述】:

可能重复:
UTF-8 all the way through

我正在一个网站上开发一些其他人已经开发的新功能。

我的字符集有问题。

我看到数据库中有些表是utf8,有些是latin1

所以我正在尝试将所有表格转换为 UTF8。

我为一个表做了(现在这个表的字段也是utf8),但没有成功。

我使用的是普通的 mysql 连接。我必须把任何配置说它必须用 utf8 连接到数据库?如果是女巫?

在我的 html 中,我有:

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

看起来有些字母有效,而另一些则显示问号。 例如,它无法显示与 this 不同的 this ':'

【问题讨论】:

  • 哪些字符在 DB 中显示为问号?
  • 别发疯了。因此,再次检查您的问题,对其进行编辑并实际提出问题。 “看起来有些字母有效,而其他字母显示问号。” - 这样的句子没有帮助。我敢打赌,它们也无济于事。
  • 同时联系您获取代码的人以获取文档。也搜索你的问题。例如。关于mysql字符配置的部分之前已经问过和回答过——你不需要再问了,你可以搜索一下。例如。 Whether to use “SET NAMES”SET NAMES utf8 in MySQL?.
  • 也许mysql_query('SET NAMES UTF8;'); 对你有用。它在过去帮助我解决了一些与 PHP/MySQL + UTF-8 相关的问题。我不知道你的确切问题,所以它可能不是你想要的。

标签: php mysql utf-8 character-encoding


【解决方案1】:

试试这个

<?php

   header('Content-Type: text/html; charset=utf-8');
?>

然后在连接中

<?php
 $dbLink = mysql_connect($argHost, $argUsername, $argPassword);
    mysql_query("SET character_set_results=utf8", $dbLink);
    mb_language('uni'); 
    mb_internal_encoding('UTF-8');
    mysql_select_db($argDB, $dbLink);
    mysql_query("set names 'utf8'",$dbLink);
?>

【讨论】:

  • 我这样做了,我还必须删除所有使用的 htmlentities() 和 utf8_encode() 函数。谢谢
猜你喜欢
  • 2011-06-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-27
  • 2013-01-06
  • 2016-04-06
相关资源
最近更新 更多