我在从 mySql 数据库中选择包含多个左双引号(“ “
)和右双引号(“ ”
)字符的文本行时偶然遇到了这个问题。可能是输入文本的人从 Word 复制并粘贴到 HTML 中<textarea>
。
无论如何,最后一个“和“之间的文本都没有显示,而是将PuTTY窗口的标题栏更改为该子字符串。
正文的最后部分是:The “s” on the end of the word “positions” can be removed (I think). New error message that pops up: “Cannot move the selected Division because
......
并且窗口的标题栏变成了can be removed (I think). New error message that pops up: â€
。
我将其缩小到右双引号,然后是左双引号;两者之间通常会打印的任何内容都变成了窗口的标题,但不包括右双引号后的第一个字符。我不确定它是特定于 PuTTY 还是通用于大多数 shell 程序。我不知道它是特定于我的 PuTTY 的国际化/字符集设置,还是特定于 Windows 版本的 PuTTY。
我尝试查找如何使用 打印特殊字符echo -e
,但它不允许我超出 ASCII 范围。我尝试查找打印时执行某些操作的特殊命令字符,但除了bell
( echo -e '\a'
,这会导致计算机发出哔哔声) 之外找不到任何有用的东西。我尝试进行的其他搜索都试图确定为什么会发生这种情况以及故意这样做的原因,但都没有找到有用的结果。
所以我的问题是,为什么打印时左右双引号字符会触发 PuTTY 中的标题栏更改?
编辑:明确地说,我是不是询问如何正确打印字符(我已经找到了很多关于这个的答案),而是为什么这些字符被解释为命令。
答案1
PuTTY 标题确实可以远程更改。
您可以在终端 > 功能 > 禁用远程控制窗口标题更改。
为什么引号被解释为更改标题的命令很难说,因为我无法重现这一点。
您似乎正在使用旧版本的 PuTTY,因为您声称 ISO-8859-1 是第一个也是默认的字符集。PuTTY 的最新版本使用 UTF-8。