【问题标题】:How to output characters 195 and 192 into HTML UTF8?如何将字符 195 和 192 输出为 HTML UTF8?
【发布时间】:2018-07-23 08:15:26
【问题描述】:

我想回显一个粗略的目录结构。使用 ascii 字符 192 和 195。 我怎样才能做到这一点?使用chr(192); 时,我只是得到了一个无效字符。我试过使用mb_convert_encoding,但这也没有用。有什么解决办法吗?

【问题讨论】:

  • 您是否设置了正确的 html-meta-header <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>? html/php文件是否保存为utf-8?
  • ASCII 不超过 127。字符 192 是 À。字符 195 是 Ã。你真正想做什么?
  • UTF-8 all the way through的可能重复
  • 你的意思是└ (└) 和├ (├) 吗?

标签: php


【解决方案1】:

我假设“ASCII 字符 192 和 195”是指 └ 和 ├。好吧,那些不是“ASCII”,因为 ASCII 只包含 128 个字符。如果有的话,它是“扩展的 ASCII”,但是术语 "Extended ASCII" doesn't mean anything either 因为 ASCII 已经扩展了数百次,并且不确定您的扩展究竟是什么意思。这可能是您尝试转换编码的问题,您真的不知道要转换的内容。

最简单的方法是将这些字符用作纯文本:

echo '└';
echo '├';

这要求您的文本编辑器支持字符,以支持字符的编码(我推荐使用 UTF-8)保存文件,并且使用适当的 HTTP 标头/元数据提供文件标签表示它是它所在的编码(例如 UTF-8)。

您也可以在 PHP 字符串文字中对字符进行编码:

echo "\xe2\x94\x94";
echo "\xe2\x94\x9c";

这会将它们输出为 UTF-8,您仍然需要注意在标头/元标记中声明您的文件为 UTF-8 编码。

或者您将它们作为 HTML 实体输出:

echo '├';
echo '└';

这不需要关于文件编码的任何特殊考虑,但仅在 HTML 上下文中有意义。

【讨论】:

  • 有点居高临下,但仍然很有帮助。谢谢。
  • 这可能是造成很多混乱的原因:asciitable.com
  • @Chud37 坦率地说,我很困惑你觉得 this 居高临下。 ?
猜你喜欢
  • 2020-11-25
  • 1970-01-01
  • 2013-02-07
  • 2015-12-12
  • 2017-06-12
  • 2012-07-17
  • 1970-01-01
  • 1970-01-01
  • 2012-02-01
相关资源
最近更新 更多