【问题标题】:UTF-8 issues in CodeIgniter when fetching data from mysql using codeigniter active record set使用 codeigniter 活动记录集从 mysql 获取数据时 CodeIgniter 中的 UTF-8 问题
【发布时间】:2014-06-12 07:27:00
【问题描述】:

我已经应用了所有在线可用的提示/技巧,以使用 utf8 启用我的 codeigniter 和 mysql。

我有带有排序规则 "utf8_unicode_ci" 的数据库及其表。

在 html 中,我为 utf8 应用了元标记:<meta charset="utf-8">

在我的 codeigniter 实例中,我已重新确认设置:

config.php
`$config['charset'] = 'UTF-8'

database.php 文件中,我有:

$db['default']['char_set'] = 'utf8'; 
and 
$db['default']['dbcollat'] = 'utf8_general_ci';

当我使用 codeigniter 活动记录显示记录时,它不显示 utf8 解码字符,而当我在同一视图文件中运行本机 php-mysql 调用时 我可以看到那里显示正确的字符。所以这证实了我的数据库和 html 元标记一切正常,我可以感觉到 codeigniter 部分的问题,它没有使用 utf8 调用 mysql。

有人知道如何解决这个问题吗?

谢谢.. 安居姆

更新:供将来参考

语言是我们希望在页面上显示的 Herbew。我将database.php 设置更改为:

$db['default']['char_set'] = 'latin1';
$db['default']['dbcollat'] = 'latin1_swedish_ci';

【问题讨论】:

  • 已修复 :) 语言是 Herbew,我们想在页面上显示 - 我将 database.php 设置更改为 $db['default']['char_set'] = 'latin1'; $db['default']['dbcollat​​'] = 'latin1_swedish_ci';它有效:)
  • 我建议您回答自己的问题并将其标记为正确,以便其他用户可以轻松查看:)

标签: php mysql codeigniter encoding utf-8


【解决方案1】:

已修复 :) 我们希望在页面上显示的语言是 Herbew。 我将 database.php 设置更改为 $db['default']['char_set'] = 'latin1'; $db['default']['dbcollat'] = 'latin1_swedish_ci'; 它有效:)

【讨论】:

  • 这是一种解决方法,而不是解决方案。这意味着数据已使用 latin1 连接添加到数据库中。更合适的解决方案是将所有内容保留为 utf8 并正确重新添加数据(如果需要使用 latin1 连接导出以使用 utf8 连接重新导入)。
猜你喜欢
  • 2012-04-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-05
  • 1970-01-01
  • 2020-01-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多