我只是想更好地理解字符编码,所以我正在做一些测试。
我有一个保存为 UTF-8 的 PHP 文件,如下所示:
<?php
declare(encoding='UTF-8');
header( 'Content-type: text/html; charset=utf-8' );
?><!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>Test</title>
</head>
<body>
<?php echo "\xBD"; # Does not work ?>
<?php echo htmlentities( "\xBD" ) ; # Works ?>
</body>
</html>
页面本身显示了这一点:
问题的要点是我的 Web 应用程序有一堆字符编码问题,人们从 Outlook 或 Word 复制和粘贴,字符被转换成菱形问号(这些有真实姓名吗?)
我正在尝试学习如何确保在页面加载时我的所有输入都转换为 UTF-8(基本上$_GET
是 、$_POST
和$_REQUEST
),并且所有输出都是使用正确的 UTF-8 处理方法完成的。
我的问题是:为什么我的页面会显示第一个回显的问号,是否有人知道有关在 PHP 中制作 UTF-8 安全 Web 应用程序的任何其他信息?