如果直接在字符串中加入换行符 \n,如 'ab\ncd',然后保存到数据库中,实际存储的值为 ab\ncd。在这里,换行符 \n 被当作普通字符串保存。读取时,读取到的内容为 ab\\ncd,和预期不符,预期读取到的内容为 ab\ncd。
解决方案为:使用字符串的 join 方法合并字符串的不同行。
msg = 'ab\\ncd';
msg = msg.replace('\\n', '\n')
line_arr = msg.split('\n)
msg_with_break = '\n'.join(line_arr)
cursor.execute('UPDATE table_name SET filed_name = %s;', (msg_with_break,))