我的mysql数据库中有一个名为eol(类型:varchar)的字段。
我在PHPMyAdmin中将其设置为默认\ r \ n。
如果我正在SELECT
使用PDO,则不会收到实际的换行符。
如果我var_dump这样的结果:
var_dump(unpack('C*',$eol));
结果是:
array(4) {
[1]=> int(92)
[2]=> int(114)
[3]=> int(92)
[4]=> int(110)
}
实际上:
如果我var_dump一个真正的换行符
var_dump(unpack('C*',"\r\n"));
结果是:
array(2) {
[1]=> int(13)
[2]=> int(10)
}
如何在mysql中正确存储实际的换行符?
编辑:
@all,如果我做的简单
var_dump(“ \ r \ n”);
它会显示如下:
string(2) "
"
很好,但是我看不到真正的字符!
问题不在于mySQL数据库存储这些值的方式。PHPMyAdmin只是一个GUI工具。因此,您输入的任何内容都被视为单个字符。
一个简单的例子是ASCII。0x0A
代表换行符,但是如果您使用PHPMyAdmin输入换行符,则将获得这些字符而不是换行符。与此类似。我已经使用查询将换行符存储到mysql列中,而没有任何麻烦。
例如 -
insert into `evaluation_answer_versions` (`evaluation_answers_answer_id`, `question_version_id`, `answer_text`, `score`, `hidden`) values (1, 1, "\r\nabc", 1, 'n');
可以正常工作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句