Php utf-8的问题

Php utf-8的问题,php,mysql,codeigniter,utf-8,Php,Mysql,Codeigniter,Utf 8,我对utf-8有问题。我使用框架代码点火器。作为一个客户,我必须 将CSV文件转换为数据库。但是当我通过查询向数据库添加数据时 这是一个问题。有些角色不起作用。例如,这个词:Eén。当我在PhpMyadmin添加这个词时,它是正确的 当我尝试trought Codeigniter查询时,它不会。 我的数据库位于Utf-8上。Codeigniter配置为utf-8。数据库配置在utf-8上 以下是查询: $query = "INSERT INTO lds_leerdoel(id,leerdoel

我对utf-8有问题。我使用框架代码点火器。作为一个客户,我必须 将CSV文件转换为数据库。但是当我通过查询向数据库添加数据时 这是一个问题。有些角色不起作用。例如,这个词:Eén。当我在PhpMyadmin添加这个词时,它是正确的

当我尝试trought Codeigniter查询时,它不会。 我的数据库位于Utf-8上。Codeigniter配置为utf-8。数据库配置在utf-8上

以下是查询:

 $query = "INSERT INTO lds_leerdoel(id,leerdoel,kind_omschrijving,cito,groep_id,OCW,opbouw,
kerngebied_id,jaar_maand,KVH,craats,refnivo,toelichting,auteur)
VALUES
(
'".$this->db->escape_str($id)."',
'".$leerdoel."',
'".$this->db->escape_str($kind_omschrijving)."',
'".$this->db->escape_str($cito)."',
'".$this->db->escape_str($groep_id)."',
'".$this->db->escape_str($OCW)."',
'".$this->db->escape_str($opbouw)."',
'".$this->db->escape_str($kerngebied_id)."',
'".$this->db->escape_str($jaar_maand)."',
'".$this->db->escape_str($KVH)."',
'".$this->db->escape_str($craats)."',
'".$this->db->escape_str($refnivo)."',
'".$this->db->escape_str($toelichting)."',
'".$this->db->escape_str($auteur)."'
)";

$this->db->query($query);
问题是这个领域的勒多尔。有人提出解决办法吗。非常感谢你

您好,
Jelle

您需要在插入查询之前运行此查询

"SET NAMES utf8"

尝试使用以下命令将文本转换为Unicode:


如果不知道文件使用什么编码,可能需要进行一些实验。(我认为ISO-8859-1或ISO-8859-15是最常见的。)

您不应该使用国家字符串文字吗

意思是你会写:

 $query = "INSERT INTO lds_leerdoel(id,leerdoel,kind_omschrijving,cito,groep_id,OCW,opbouw,
kerngebied_id,jaar_maand,KVH,craats,refnivo,toelichting,auteur)
VALUES
(
'".$this->db->escape_str($id)."',
N'".$leerdoel."',
-- rest of query omitted

尝试将其添加到标题中

header('Content-Type: text/html; Charset=UTF-8');

还要检查编辑器的编码设置。

我遇到了类似的问题,我解决了在PHP文件的开头添加这个问题:

ini_set('default_charset', 'UTF-8');
mb_internal_encoding('UTF-8');
此外,检查是否以UTF-8格式保存PHP文件而不保存BOM非常重要,我对此感到非常头痛。我建议,它显示了当前的文件编码,并允许您在必要时转换为不带BOM的UTF-8

如果你想看看我的问题和解决方案


希望它能帮助你

如果您希望这是utf-8,为什么我们要在
leerdoel
上使用
utf8\u decode
。对不起,我忘了取下那个。但问题依然存在。谢谢你的评论!我已经试过了。它不起作用。但是谢谢你的评论!是的,除了voor这个角色之外,这是有效的。但我把这个改成-。小一点的。非常感谢。
ini_set('default_charset', 'UTF-8');
mb_internal_encoding('UTF-8');