我将MySQL数据导出到html时遇到了一些问题。问题是在一个字段中我有这样的值:<a href="http://google.com">Google</a>
当我以html格式导出表时,为这个字段生成的html表包含:<a href="http://google.com">Google</a>
,它不是有效的html链接。有没有办法导出没有mysql的表来转换<
和>
字符?
我没有使用任何代码。我只使用mysql命令:mysql -H "select ...."
并指定输出文件。
谢谢!
答案 0 :(得分:1)
when i export the table in html format the generated html table for this fields contains:
<a href="http://google.com">Google</a>
这很奇怪,我没有得到那种行为(在5.1.34中):
$ mysql -H -e "select 'a&b<c>d'";
<TABLE BORDER=1><TR><TH>a&b<c>d</TH></TR><TR><TD>a&b<c>d</TD></TR></TABLE>
我希望你引用逃脱的行为!从我的示例中可以看出,否则会冒着格式错误的HTML的风险。例如。值中的</table>
会破坏整个输出。
如果你想控制输出格式以允许某些或所有列中的原始HTML内容,那么(a)你将需要编写一些代码来执行此操作,并且(b)你必须确保数据库中的内容是已知的安全HTML,没有可能破坏表格的格式错误的字符串或恶意JavaScript。
-H
的{{1}}选项不足以完成任务,从我们的不同结果来看,这似乎非常不可靠!您需要选择带有MySQL绑定的脚本语言并手动输出行。
答案 1 :(得分:0)
导出目的是导出数据,而不是提供对它们的直观解释。 如果你想拥有有效的链接,你必须使用php或任何脚本语言。
顺便说一下,即使你可以用技巧来做,也不应该这样做。