在Joomla中显示MySQL数据库中的特殊字符

时间:2016-06-08 09:44:59

标签: php mysql joomla

我正在尝试保存文本,然后在Joomla中显示来自MySQL数据库的文本。

我创建了一个PHP文件来通过post保存文本。

$text = $_POST['text'];
$text = mysql_real_escape_string($text);
mysql_query("INSERT INTO question(`question`) VALUE('$text')");

我从单词复制的文字有一个特殊字符。

复制的行是:

Total age = 20 × 9 = 180 years

在数据库表(charset = utf8 COLLATE = utf8_unicode_ci)中,文本保存为

Total age = 20 × 9 = 180 years

现在,如果我在PHP中获取此文本,并在PHP中添加以下行:

<meta charset="UTF-8">

然后正确显示文本。

如果我在Joomla网站中获取相同的文本,该网站已经有utf-8元(在源代码中检查),则文本显示不正确。它总是显示:

Total age = 20 × 9 = 180 years

我尝试添加这些:

mysql_set_charset('utf8');
ini_set('default_charset', 'UTF-8');
header('Content-Type: text/html; charset=utf-8');
mysql_query("SET NAMES 'utf8'");
utf8_encode($text);

但我无法解码Joomla中的角色。请帮忙。

1 个答案:

答案 0 :(得分:0)

尝试以下方法:

  • 使用utf8_general_ci作为所有表格的编码
  • 使用utf8_general_ci作为数据库的编码

您可以在phpMyAdmin中进行这些更改(我认为有一个查询可以更改所有表的字符编码)