如上所述,只有 ASCII 字符 32 到 126 被认为是可打印的,所有其他字符,包括 UTF-8 编码的字符,始终被认为不可打印,无论你的语言环境设置如何。因此,例如德语 "ä",欧元符号 "€" 或英镑符号 "£" 将永远不会被认为是可打印的。如果你需要检查超出标准 ASCII 范围的任何字符的可打印性,请使用正则表达式或自己编写一个特定函数。
另请参阅以下讨论:https://grokbase.com/t/php/php-i18n/102tkqe6rk/ctype-print-returns-false-for-british-pound-symbol-and-non-ascii-symbols