Php 特殊西班牙语字符不显示,Codeigniter MySQL

Php 特殊西班牙语字符不显示,Codeigniter MySQL,php,mysql,codeigniter,utf-8,Php,Mysql,Codeigniter,Utf 8,西班牙语特殊字符显示不正确,类似“Árbol”的单词显示为'�波尔' 1) 数据库中的文本已正确保存。'Árbol'在数据库上看起来很完美 2) 若我插入一个新词,例如“Tétrico”,它会正确地保存在数据库中 自从我将项目转移到另一台服务器后,我就遇到了这个问题,在localhost(Ubuntu服务器)上工作得非常完美 我试过了所有的方法来阅读类似的问题: 视图文件以UTF-8编码,没有BOM表 标题('Content-type:text/html;charset=utf-8') 在my

西班牙语特殊字符显示不正确,类似“Árbol”的单词显示为'�波尔'

1) 数据库中的文本已正确保存。'Árbol'在数据库上看起来很完美

2) 若我插入一个新词,例如“Tétrico”,它会正确地保存在数据库中

自从我将项目转移到另一台服务器后,我就遇到了这个问题,在localhost(Ubuntu服务器)上工作得非常完美

我试过了所有的方法来阅读类似的问题:

  • 视图文件以UTF-8编码,没有BOM表
  • 标题('Content-type:text/html;charset=utf-8')
  • 在my.cnf中,我添加了以下行:

    init_connect='SET NAMES utf8'

    字符集服务器=utf8

它就是不起作用

我还能做什么


我已经将我在localhost上所做的更改(因为project在这里工作得很好,所有内容都正确显示)复制到了新服务器上,但没有任何更改。

我不太清楚原因,但我在html视图上做了这样的更改,但它不起作用

header('Content-Type: text/html; charset=utf-8');
通过阅读这篇文章,我找到了另一个答案:

因此,我必须更改html文件的标题。我这样说:

header('Content-Type: text/html; charset=ISO-8859-1');

现在它工作得很好。

您输出的数据实际上不是UTF-8编码的。我猜Codeigniter数据库配置没有设置为utf8.decese,它是:on config.php$config['charset']='UTF-8';在database.php$db['default']['char_set']='utf8'中$db['default']['dbcollat']='utf8\u unicode\u ci';