我有一个MySQL数据库表,其中包含一个包含用户名的ISO-8859-1编码文本字段。当我使用PHP将其导出到文本文件时,我得到一个保存在客户端计算机上的普通文本文件。当我在Windows系统上的Word或Excel中打开它时,它看起来不错。当我使用Word或Excel在Mac上打开它时,高ascii字符是错误的。
我知道这是因为Mac使用MacRoman和Windows使用ISO-8859-1。我的问题是如何编写一个可以在两个平台上打开的文本文件,并且两者都很好看?
是否有一些XML varian可以将文字包含在内,以便将Word理解为ISO-8859-1编码的事实?我可以在TXT文件上撒些什么神奇的尘埃,以便知道它正在使用另一种编码方案?
答案 0 :(得分:2)
...我在客户端计算机上保存了一个普通的文本文件
您实际上获得了特定编码的文本。我们假设它是ISO-8859-1。
我知道这是因为Mac使用MacRoman和Windows使用ISO-8859-1。我的问题是如何编写一个可以在两个平台上打开的文本文件,并且两者都很好看?
打开文本文档的软件必须知道charset编码。有时,它可以使用一些启发式猜测它,有时它不会尝试猜测(并使用它自己的默认值),有时你可以让他问你要使用什么编码。 See here。
没有通用的方法可以保证每个用户都能以正确的编码打开它,只要我们说的是纯文本文件。在其他一些格式(例如HTML)中,编码可以指定为文档本身的一部分。