Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MySQL插入列半插入_Php_Mysql - Fatal编程技术网

Php MySQL插入列半插入

Php MySQL插入列半插入,php,mysql,Php,Mysql,这真的有点奇怪,可能是我做得不正确,但出于某种原因,当我在MySQL中插入或更新(使用PHP类创建)时,出于某种原因,插入的文本(本例中是电子邮件的HTML副本)只插入了一半。。。当它看到“–”时,它不断地破碎 我不认为这是一个标准的连字符,因为它在浏览器栏中看起来有点不同,甚至在这个文本区域,我的连字符“-”比“-”窄。我尝试过HTML实体,但不会转换,所以在处理这个麻烦的字符时有什么建议吗 虽然我可能会说,如果我使用PHP My Admin直接插入HTML正文(完全相同的格式,所有内容都会被

这真的有点奇怪,可能是我做得不正确,但出于某种原因,当我在MySQL中插入或更新(使用PHP类创建)时,出于某种原因,插入的文本(本例中是电子邮件的HTML副本)只插入了一半。。。当它看到“–”时,它不断地破碎

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

虽然我可能会说,如果我使用PHP My Admin直接插入HTML正文(完全相同的格式,所有内容都会被插入。我甚至尝试了
str_replace
来删除它,但没有成功。我也用更多的单词替换了单词,但效果不错(但在该字符显示之前,它仍然被切断……。

您使用的是一个“”,不要与连字符混淆。看看区别:——-

破折号有很多种:

figure dash    (‒)  U+2012              
en dash        (–)  U+2013
em dash        (—)  U+2014  
horizontal bar (―)  U+2015
swung dash     (⁓)  U+2053
在执行查询之前,您可以尝试对每种类型进行
str_replace(“-”,“-”,$query);
,看看这是否解决了您的问题,但实际上,您应该考虑可能执行一个操作,然后将数据库字段设置为使用UTF8。

您使用的是一个“”而不是一个连字符。看看区别:——-

破折号有很多种:

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

您可以尝试
str\u替换(“-”、“-”、$query)在执行查询之前,检查每种类型是否能解决您的问题,但实际上您应该研究是否可以执行一次查询,然后将数据库字段设置为使用UTF8。

有代码吗?您尝试了什么?数据库中定义的列是否足够宽,可以容纳您插入的所有文本?是的,它被定义为
LONGTEXT
很长-但正如我上面所说,如果它将数据粘贴到PHP My Admin中,那么所有内容都是可保存的代码?您尝试了什么?在数据库中定义的列是否足够宽以容纳插入的所有文本?是的,它被定义为
LONGTEXT
,很长-但如我上面所说,如果它将数据粘贴到PHP中我的管理员,一切都已保存这听起来像是最可能的原因(Outlook使用破折号而不是连字符?)-我会看看我能做些什么doOutlook会自动转换双连字符(--)对于em破折号,这是您得到的。谢谢-它似乎有效!是否有其他字符可以像这样破坏插入?我肯定有。这确实取决于表所期望的字符编码和您提供的内容。也许这将提供更多的见解:这听起来像是最有可能的原因(Outlook使用破折号而不是连字符吗?)-我会看看我能做些什么doOutlook会自动转换双连字符(--)对于em破折号,这就是您得到的结果。谢谢-它似乎有效!是否有其他字符可以像这样中断插入?我肯定有。这确实取决于表所需的字符编码和您提供的内容。也许这将提供更多的信息: