MySQL插入列插入一半

时间:2012-08-31 18:03:27

标签: php mysql

这实际上有点奇怪,可能是我没有正确完成的事情,但出于某些原因我在MySQL中插入或更新(使用PHP类创建),由于某种原因,文本是插入(在这种情况下是电子邮件的HTML副本)只插入了一半...当它看到' - '时它会一直断开

我不认为这是一个标准的连字符,因为它在浏览器栏中看起来有点不同,甚至在这个文本区域中我的连字符' - '比' - '窄。我已经尝试过HTML实体,但不会转换,所以在处理这个麻烦的角色时会有什么建议吗?

虽然我应该说,如果我使用PHP我的管理员直接插入HTML正文(完全相同的格式,一切都插入。我甚至尝试str_replace删除它没有运气。我' ve也用更多的单词替换了单词,但是有效(但在该字符显示之前它仍然被切断了.....

1 个答案:

答案 0 :(得分:1)

您使用“dash”不要与连字符混淆。看看差异: - -

破折号有很多种:

figure dash    (‒)  U+2012              
en dash        (–)  U+2013
em dash        (—)  U+2014  
horizontal bar (―)  U+2015
swung dash     (⁓)  U+2053

您可以在执行查询之前尝试str_replace("–", "-", $query);每个类型,看看是否能解决您的问题,但实际上您应该考虑可能执行utf8_encode()然后将数据库字段设置为使用UTF8