如上所述,只有 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