【发布时间】:2016-04-22 18:14:43
【问题描述】:
我有一个已转换为 CSV 文件的 Excel 文件。显然,这个文件中有两种spaces,常规空间和不间断空间(我的假设)。
将数据保存到数据库时,不间断空间将保存为带有问号 (�) 的黑色菱形。
我一直在阅读,因为这可能已经有了解决方案,但是当我尝试它们时,什么都没有发生。
使用mb_substr 方法:
$name = !empty($data[0]) ? mb_substr($data[0], 0, mb_strlen($data[0]), "UTF-8") : null;
使用str_replace 方法:
$name = !empty($data[0]) ? str_replace(" ", " ", $data[0]) : null;
编辑
我使用 Oracle 作为数据库,这里是定义的字符集:
NLS_CHARACTERSET = AL32UTF8
NLS_NCHAR_CHARACTERSET = AL16UTF16
这是一个示例数据:
,W.R.,
W前面的空格是变成问号的字符。
【问题讨论】:
-
您使用的是什么类型的数据库?也许数据库未配置为使用 UTF-8?
-
当您说保存到数据库时,您使用的是什么数据库? mysql??你的数据库字符集是什么?是 UTF-8 unicode 吗??
-
可以链接 Excel 文件吗?
标签: php utf-8 whitespace