【发布时间】:2017-02-15 12:01:40
【问题描述】:
我正在开发一个需要存储/显示包含许多特殊字符的数据的应用程序。我已经设置了数据库排序规则utf8。我已将表的排序规则utf8 和字符集设置为utf8_unicode_ci。它存储所有特殊字符,如é、â。但是,每当一个字符 ,€ 出现时,它就不会按原样存储。就像每当有一个词“attributed†它变成âattributedâ。我目前正在使用 Laravel 5.2 (PHP)。
到目前为止我所尝试的 我在我的代码中设置了以下内容
iconv_set_encoding('internal_encoding', 'UTF-8');
mb_internal_encoding('UTF-8');
我也试过了
$value = array_map("utf8_encode", $array);
但是这个特殊字符并没有按原样存储。谁能让我知道我应该怎么做才能让这个特殊字符按原样保存。
【问题讨论】:
-
你试过用
ISO-8859-1代替UTF-8吗? -
你读过this的帖子吗?它建议更改编码类型
-
您的数据是否通过 URL 传输?这些数据是如何获得的?你试过在屏幕上输出吗?
-
@itsols 我正在从 csv 获取数据。在发送到数据库之前,我已经在浏览器中输出了数据,它运行良好但没有像数据库中那样存储
-
通过MySQL命令行插入是不是也不起作用?
标签: php mysql laravel-5 special-characters