2012-01-16 152 views
13

我有在苹果创造了一些UTF-8的文件,并试图利用他们在TextPad Windows中,我得到以下警告打开的时候:TextPad和Unicode:完全支持?

警告:(文件名)中包含不存在的字符代码 第1252页(ANSI拉丁文1)。如果单击确定,它们将转换为系统默认的 字符。

Linux(GNOME gEdit)可以在不投诉的情况下打开相同的文件。以上是什么意思?我认为TextPad具有完整的UTF-8支持。我可以安全地打开并编辑使用它的UTF-8文件而不会破坏文件?

+2

可悲的是,最近(2013年3月)的TextPad v7版本无法解决这个问题。 – 2013-04-15 15:24:30

+0

总是也有同样的问题。 TextPad非常棒,但它在字符编码方面很糟糕。我所做的绕过这个问题的方法是将我的css文件的所有图标定义行放入一个单独的css文件中。然后我用记事本编辑这个文件。 – reggie 2013-06-07 08:35:49

+2

TextPad 8在这里带有BMP Unicode支持(请参阅http://stackoverflow.com/a/35076216/8946) – 2016-01-29 20:57:31

回答

10

似乎TextPad无法处理windows-1252以外的字符(CP1252,这里带有误称“ANSI Latin 1”)。我在Windows上测试了它,打开一个在同一系统上创建的纯文本文件,如同使用和不使用BOM的UTF-8编码一样,结果相同。该程序的帮助似乎没有包含与字符编码相关的任何内容,其用于编写“国际字符”的工具仅适用于Latin-1字符。

Windows有几种文本编辑器可以处理UTF-8(甚至记事本可以打开UTF-8文件,但很难推荐进行严肃编辑)。请参阅Alan Wood收集的关于Unicode editors and word processors for Windows的信息。 (就我个人而言,我喜欢Notepad ++和BabelPad,它们都是免费的。)

+0

TextPad的规范特别说明了这一点:“16位Unicode,UTF-8和8位文本文件单字节和双字节字符可以编辑。“ – 2012-01-16 12:24:07

+3

TextPad帮助表示对编码感到困惑,但在“打开”对话框中将编码设置为UTF-8不会有帮助。在Configure/Preferences中,它也没有帮助设置默认的编码为UTF-8:数据仍然被平铺到windows-1252上(即它外面的字符被映射到windows-1252字符或问号或别的东西)。他们说:“这意味着只有在没有数据丢失的情况下才能编辑包含隐含代码页中字符的文件。”(TextPad帮助,关键字“unicode”) – 2012-01-16 13:44:01

+0

很奇怪。当Notepad ++存在时,无法理解为此类产品付费! – 2012-01-16 13:48:14

6

TextPad'仅支持'UTF-8和UTF-16文档,只会导入和导出它们。但它仍然将文件编辑为简单字节,而不是Unicode字符(使用ANSI代码页,这是西欧的代码页1252)。

因此,除非文件碰巧只包含该代码页中也存在的字符,否则将会丢失内容。这相反击败了Unicode的观点。

事实上,这是我逃离EmEditor时的问题,虽然现在我会同意前面的评论并推荐Notepad ++。支付文本编辑的时代已经过去了。

+1

如果我可以在我的余生里多花一点时间在stackoverflow上说一下,那么它会尝试一下编者。高超。 – monkjack 2012-05-28 12:39:31

+0

从TextPad 8开始,这不再正确。 – 2016-01-29 03:10:32

3

我发现在Textpad论坛上这样的讨论: http://forums.textpad.com/viewtopic.php?t=11019

虽然我记事本+ +,Textpad可轻松处理大型文件,而其他的编辑我试过,包括记事本++,无论是慢如蜗牛或死亡。我目前正在尝试编辑一个475MB文件,Notepad ++没有完成任务。

+0

大文件:我认为这是因为文本突出显示,这需要更多的内存。 Notepad ++无法解决此问题,因为这是记事本++用于显示文本的Scintilla组件的限制。 – StanE 2015-05-10 04:18:42

+0

[EmEditor专为处理大文件而设计](https://www.emeditor.com/text-editor-features/large-file-support/large-file-controller/)。根据我的经验(例如,在具有4GB RAM的64位Windows计算机上,SQL文件大小为5-15 GB),它的表现非常出色。 (在这种情况下,某些操作(如全局查找和替换)在任何文本编辑器中总是会很慢,但EmEditor采取切实可行的方法来做可能的事情。) – 2015-10-14 11:56:45

-2

尝试ANSI代码文件/打开设置,应在TextPad

5

其实TextPad并授予支持显示Unicode代码点,他们走遍了错误的方式解决问题。为了显示Unicode字符,你必须选择Configure-> Preferences并展开“Document Classes-> Text-> Font

你需要选择一个Unicode字体并设置脚本匹配。例如Arial Unicode MS与脚本CHINESE_BIG5

但是,这是一种落后的方法,因为当用户告诉TextPad以Unicode或UTF-8格式打开文件时,应用程序应该处理这个问题,MS Windows内置的记事本应用程序会自动检测编码,根据编码正确显示字形。

+1

即使Arial Unicode MS也不包含所有的字形I想;如果我是付费客户和计算机科学毕业生,在阅读他们的帮助文件,论坛等后,无法通过任何方式弄清楚如何使用TextPad制作多语言(甚至是泛欧洲)的UTF-8源代码文件。并尝试联系支持后;那么就会出现严重错误(我不应该说我浪费了多少时间来处理由于TP造成的损坏的UTF-8 SQL转储问题!)如果TextPad人员要为其产品提供unicode支持,那么他们应该至少放一个星号在那个要求旁边! – 2015-10-14 12:36:24

6

TextPad 8,2016-01-28最新,终于正确支持BMP Unicode。这是一次付费升级,但迄今为止我一直在为完美工作。

+0

是的,但...即使txt类配置为始终转换为utf8,文件命令返回utf8,notepad ++正确打开该文件,为txt类选择了unicode字体,它通过假设ANSI将ä和ö转换为破碎字符,但如果插入非-ansi代码页字符,例如西里尔字符,而不是它假设正确的utf8。对我来说,这是一个错误,而不是功能,是的,NotePad ++手柄是正确的 – 2017-06-22 06:41:31