Yept Asked: 2020-09-04 21:43:56 +0800 CST 2020-09-04 21:43:56 +0800 CST 2020-09-04 21:43:56 +0800 CST 在 HTML 的 <pre> 标记中显示 ñ 和重音符号 772 如您所见,我正在制作一个对西班牙语字符没有任何问题的网页: 为此,我在 HTML 中使用它: <meta charset="utf-8"> 但是我有一些<pre>从服务器读取的文本文件的标签,但它们不尊重西班牙语中的字符: php 2 Answers Voted Best Answer OscarGarcia 2020-09-04T23:06:33+08:002020-09-04T23:06:33+08:00 符号 �(替换字符)出现在无法解释字符的 UTF-8 文档中,可能是因为它是 ISO-8859-xx 字符。 如果您想在所有级别使用 utf-8,您必须按照以下步骤操作: 您的服务器必须返回Content-Type: text/html; charset=utf-8从 PHP 脚本本身(使用header('Content-type: text/html; charset=utf-8'))或从 Web 服务器(AddType或AddCharset在 Apache 配置中)生成的标头。 PHP 语言环境也必须支持UTF-8. 几乎所有现代 Linux 系统都默认使用en_US.UTF-8或es_ES.UTF-8等效。如果默认配置的不同,您必须使用 更改它setlocale(LC_ALL, 'es_ES.UTF-8')。用于locale -a获取可用列表。 您的 HTML 必须具有使用<meta http-equiv="Content-Type" content="text/html; charset=utf-8">HTML4 兼容性标签和/或<meta charset="utf-8">使用 HTML5 定义的字符集。 您的文本编辑器必须支持 UTF-8,这样您在 PHP 脚本中输入的文本才能正确编码。 用户/密码请求表单和显示结果的表单(给您带来问题的表单)都必须满足这些要求,以免给您带来任何字符集问题。 你的问题可能是关于: 您创建了一个带有正确 HTML 标记的文档,发送了正确的 HTTP 标头,但是您使用的编辑器创建了一个使用 ISO 编码而不是 UTF 编码的 PHP 接收文件。解决方案是打开接收表单的文件并在编辑器中查找选项以将其保存为 UTF-8。 源表单的标题或编码很好(UTF),但接收数据的页面不是。解决方案是将标头和标签放在同一级别以匹配编码。 由于您的文本看起来是静态的,以固定方式在脚本中编程,我更喜欢第一个选项。 Federico 2020-09-04T22:54:52+08:002020-09-04T22:54:52+08:00 您可以尝试使用utf8_encode()utf8 编码从文件中提取的文本,例如: $codificado = utf8_encode(texto); 我希望这可以帮助你
符号 �(替换字符)出现在无法解释字符的 UTF-8 文档中,可能是因为它是 ISO-8859-xx 字符。
如果您想在所有级别使用 utf-8,您必须按照以下步骤操作:
Content-Type: text/html; charset=utf-8
从 PHP 脚本本身(使用header('Content-type: text/html; charset=utf-8')
)或从 Web 服务器(AddType
或AddCharset
在 Apache 配置中)生成的标头。UTF-8
. 几乎所有现代 Linux 系统都默认使用en_US.UTF-8
或es_ES.UTF-8
等效。如果默认配置的不同,您必须使用 更改它setlocale(LC_ALL, 'es_ES.UTF-8')
。用于locale -a
获取可用列表。<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
HTML4 兼容性标签和/或<meta charset="utf-8">
使用 HTML5 定义的字符集。用户/密码请求表单和显示结果的表单(给您带来问题的表单)都必须满足这些要求,以免给您带来任何字符集问题。
你的问题可能是关于:
由于您的文本看起来是静态的,以固定方式在脚本中编程,我更喜欢第一个选项。
您可以尝试使用
utf8_encode()
utf8 编码从文件中提取的文本,例如:我希望这可以帮助你