我正在尝试将 mysql 表导出到 CSV 文件。
在表中,我对列进行了如下排序:
id, name, title, 内容
在 content 列中,我有一些 html,然后我试图在某些点打开导出的文件,因为 html 引号导致换行。
取而代之的是:
id, name,title,content
1, name1, title1, <div class="class1">sometext1</div>
2, name2, title2, <div class="class2">sometext1</div>
3, name3, title3, <div class="class3">sometext1</div>
4, name3, title4, <div class="class4">sometext1</div>
我得到这样的东西:
id, name,title,content
1, name1, title1, <div class="class1">sometext1</div>
2, name2, title2, <div class="
class2">sometext1</div>, 3, name3, title3, <div class="class3">sometext1</div>
4, name3, title4, <div class="class4">sometext1</div>
Here are my settings while exporting
列分隔:\t(制表符)
列包含:“
转义的列:“
行终止于:AUTO
将 NULL 替换为:NULL
我在这里做错了什么?文本也是 UTF-8
最佳答案
这并不像描述的那样完全有意义;使用您显示的设置——具体来说,Columns setting with: "
和 Columns escaped with: "
,您的数据应该如下所示:
id, name,title,content
"1", "name1", "title1, "<div class=""class1"">sometext1</div>"
...
很明显,您的导出出了点问题。我刚刚用我的 phpMyAdmin 进行了测试,它按预期工作,这意味着在导入时列被正确解析,包括换行符和内联双引号。
所以我建议先解决这个问题。
另一种解决方案是更改“行终止于”定界符,也可能是“列包含于”,尽管如前所述,这在您的导出中不起作用。您将其设置为什么取决于您的其他数据;你必须找到一些你的数据库中不存在的字符。记住在导入时也要使用该字符,并覆盖默认选择“自动”。
关于html - 使用html代码将mysql表导出到csv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35846029/