我已经编写了数据抓取引擎,它(到目前为止)一切正常,除了它在文本中出现欧元符号的位置完全停止数据插入过程。我相信这个符号可能不是唯一的。
如果即将插入数据库表的字符串如下所示:
Quick brown € fox jumped over the laizy dog.
这将最终在数据库中:
Quick brown
我的麻烦是我已经按照这个网站上找到的几个关于这个问题的说明,没有运气。
我已经做了什么来解决这个问题(php端):
确保:
mysqli_set_charset($dblink, "utf8");
mysqli_real_escape_string($dblink, $string);
尝试过:
iconv('windows-1250','utf8//TRANSLIT', $string );
iconv('windows-1250','utf8', $string );/*crawled web page declared windows-1250 characterset*/
(在这里我成功完成了保留€符号的数据插入,但是其他拉丁字符 čćšđž 完全降级了)
- 其他几个尝试
mb_convert_encoding()
- 尝试使用 of
Accept
和Accept-Charset
headers更改服务器响应
mysql端:
表和字段设置为 utf8_unicode_ci
尝试修复DEFAULT CHARACTER SET
为 utf8(对现有的非空数据库进行了修复)
没有成功。无论我尝试什么,插入过程都会以 € 符号停止。
有谁知道我该怎么办?