在生成一些MySQL脚本之后,我得到了一些输出表,我用awk + printf安排,以使所有内容完美对齐和漂亮。 但是,当发送给其他任何人时,如果该文件是在Windows,Blackberry或Android中打开的,那么它看起来很糟糕且不对齐。
是否有任何格式(除了pdf或图像),我可以确保每个人都能正确阅读? 目前的格式是:
$ file sample.txt
sample.txt: UTF-8 Unicode text
感谢。
答案 0 :(得分:1)
听起来你正在使用固定宽度的字体(如信使),这是终端会话的典型特征,并依靠它来很好地排列你的数据。对于那些情况,它工作正常。此外,如果用户默认其邮件阅读器使用固定宽度的字体。
问题是,您将消息发送给使用GUI工具(如outlook,或Web邮件客户端或许多其他人)使用按比例间隔字符的人,因此'1'占用的空间少于'0'(例如),然后你得到一些丑陋的东西。
如果这是针对公司项目并且受支持的邮件阅读器范围有限,您应该能够“包装”报告并指定固定宽度的字体。即使在公司组织中,这仍然不是完美的,如果您的用户群更加通用,那么确保每个人都能获得完美格式的报告变得更加困难。也许您需要添加一些资格,例如“使用xxx邮件阅读器时提供的最佳格式”。
您可以在此处发布到https://webmasters.stackexchange.com/,并询问有关正确呈现概率很高的简单HTML格式的建议。
IHTH
答案 1 :(得分:1)
最简单,最通用的格式化文本选项是HTML。坚持HTML 2.0或3.2(对于表格)将为客户提供错误的机会。
答案 2 :(得分:1)
这取决于您的同事的技术娴熟,但我建议使用CSV,因为这是大多数办公室中相对常见的格式。否则,是的,html表是一个很好的方法。
不确定数据的结构是什么,但您可以将其设置为逗号分隔格式,或者使用Perl / Python脚本为您执行此操作。
答案 3 :(得分:1)
如果使用制表符(ASCII 9),则表格应按比例字体排列。它并不完美,但大多数程序都能正确显示。要在printf中创建制表符,请将其指定为\t
。
答案 4 :(得分:0)
感谢大家的评论。 我的解决方案是:
由于我的txt文件已经“很好”,我只需要在每个txt文件的开头和结尾插入以下代码,我必须与其他人共享。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<pre>
HERE GOES MY FIXED WIDTH TABLE
</pre>
</body>
</html>
此处的关键标记为<pre>
,字面意思是:
“
<pre>
标记定义了预格式化的文本。<pre>
元素中的文字是 以固定宽度字体(通常为Courier)显示,并保留 空格和换行符。“