您现在的位置是:主页 > news > 综合服务门户网站建设/seo网站优化推广教程
综合服务门户网站建设/seo网站优化推广教程
admin2025/5/5 10:14:52【news】
简介综合服务门户网站建设,seo网站优化推广教程,贵阳花溪区,时网站建设公司管理这首先取决于你的意思strictASCII,仅包含128个字符。这些字符中的每一个在ASCII编码方案中都具有与在UTF-8 encoding scheme. 对于这些字符,mb_convert_编码功能将不起作用。您可以通过以下脚本轻松地验证这一点:/* Convert ASCII to UTF-8 */for ($i0; $i<128; $i) {$str1 …
这首先取决于你的意思
strict
ASCII
,仅包含128个字符。这些字符中的每一个在ASCII编码方案中都具有与在
UTF-8 encoding scheme
. 对于这些字符,mb_convert_编码功能将不起作用。您可以通过以下脚本轻松地验证这一点:
/* Convert ASCII to UTF-8 */
for ($i=0; $i<128; $i++) {
$str1 = chr($i);
$str2 = mb_convert_encoding($str1, "UTF-8", "ASCII");
echo $str1 . " - " . $str2 . " - ";
if ($str1 !== $str2) {
echo " - DIFFERENT!";
} else {
echo " - same";
}
echo "\n";
}
为了所有这些
真
ASCII字符,转码没有意义。
然而
,如果“ascii”是指
扩展ASCII
(见
here
)如果你说的是有口音的人物,那你就有麻烦了
不是这个术语描述的确定字符集
. 你会注意到在
list of supported character encodings for php's Multibyte String extension
缩写词ascii只出现一次,这是针对ascii本身的。
更准确地回答您的问题:
如果我使用函数mb_convert_encoding()将php中的ASCII编码字符串转换为utf-8字符串,然后将其与ASCII编码字符串连接,那么它是什么编码?
结果字符串是
二者都
ASCII
和
因为这两种编码方案对128个字符使用相同的字节编码。
这样做有什么负面后果吗?
在任何情况下,如果字符实际上是
真
ASCII字符。
另一方面,如果字符串包含一些重音字符,例如
γ
或
γ
一些草率的编码人员称这个为“扩展的ASCII”,那么您可能会遇到问题。这些字符在
latin-1
例如,UTF-8编码方案。
考虑一下这个PHP函数,它可能会动摇一些理解。问问自己这意味着什么
将非ASCII字符从ASCII转换为UTF-8
. 这不是一个有意义的转换,但会导致此特定脚本发生更改:
$chars = array("Ã", "õ");
foreach ($chars as $char) {
echo $char . " : ";
$str1 = mb_convert_encoding($str1, "UTF-8", "ASCII");
$str2 = mb_convert_encoding($str1, "UTF-8", "ISO-8859-1");
echo $str1 . " - " . $str2 . " - ";
if ($char !== $str1) {
echo " - ASCII DIFFERENT";
}
if ($char !== $str2) {
echo " - LATIN 1 DIFFERENT";
}
echo "\n";
}
在这一点上你可能会开始困惑。如果您知道我在最后一个函数中的PHP代码
它自己的字符编码
在我的工作站上恰好是UTF-8。因此,我所做的这些转换非常愚蠢。我对php撒谎,说这些utf-8字符串是ascii或拉丁语-1,并要求php将它们转换为utf-8。它尽可能地执行转换,但我们都知道转换没有意义。
我希望你能感激我在这里所得到的一切。每次你在计算机上看到一个字符,它都有一些编码。是否会有任何负面的后果将取决于您如何处理收到的数据、您对其执行的转换以及您以后打算如何处理这些数据。
想一想监护链是很有帮助的。你的数据来自哪里?他们使用了什么编码?这就是我在系统上使用的吗?我要将这些数据发送到哪里?需要转换吗?还应注意为所有这些内容指定字符集:
从客户那里收到的数据
向您的网站提交表单
在网站上显示HTML
应用程序中文本字符串的操作
数据库连接的字符编码、数据库中表的字符编码和这些表中列的编码
存储数据的字符编码
电子邮件字符编码
提交给API的数据的字符编码
等等。
一般经验法则:尽可能使用UTF-8。