我遇到了一个奇葩的问题,在向数据库写入数据的时候,包含中文全角标点符号的内容会被截断。源文本采用 GB2312 编码。数据库采用 utf8_general_ci .中间没有进行过转码
举个例子:
update `hello` set `text`= 'array(\'key\'=> \'hello! bad”this was hidden\')'这绝对是个奇葩的问题,写入数据库后再去看,就是 array('key'=> 'hello! bad 后面的 this was hidden') 不见了
我起初怀疑是编码问题导致mysql误将全角符号的一个字符当成了单引号,致使字符串提早结束。可仔细一想那后面的内容总不可能平白无故的消失了啊。
我试着转换过几种编码来 urlencode() 后观察,但我没看出它们和单引号的urlencode %27 有任何相同之处本来原计划今天完工的,结果遇到这种问题。实在没办法,谁遇到过这种情况,或者有什么调试建议,都请帮我!