gpt4 book ai didi

php - 在 PHP 中使用越南字符(不是 Unicode)的正确字符集

转载 作者:行者123 更新时间:2023-11-30 23:45:07 25 4
gpt4 key购买 nike

<分区>

我已经四处搜索了一段时间,但还没有找到适合我的东西。我正在使用 PHP 表单通过 SAP DI API 将数据提交到 SAP。我需要弄清楚哪个字符集实际上允许我存储和使用越南字符。

UTF8 似乎适用于很多字符,但 ô 变成了 ô。更重要的是,有字符限制,UTF-8 打破了字符限制。如果我有一个 30 个字符的字符串,它会告诉 API 它超过 50 个。存储在 MySQL 中也是如此——如果有 varchar 字符限制,UTF-8 会导致字符串超过它。

不幸的是,当我搜索时,UTF-8 似乎是人们唯一建议的越南字符。如果我根本不对字符进行编码,它们将存储为 html 字符代码。我也尝试过ISO-8859-1,转换成UCS-2或UCS-4......我真的很茫然。如果有人有使用越南字符的经验,将不胜感激您的帮助。

更新

看来问题可能出在我的 Windows 上的 wampserver 上。这里有一些代码让我感到困惑:

$str = 'VậTCôNG';
$str1 = utf8_encode($str);
if (mb_detect_encoding($str,"UTF-8",true) == true) {
print_r('yes');
if ($str1 == $str) {
print_r('yes2');
}
}
echo $str . $str1;

这会在浏览器中打印“yes”而不是“yes2”,并且 $str.str1 = "VậTCôNGVáºTCôNG"。

我的 php.ini 文件包含:

default_charset = "utf-8"

和我的 httpd.conf 文件:

AddDefaultCharset UTF-8

我正在运行的 php 文件有:

header("Content-type: text/html; charset=utf-8");

所以我现在想知道:如果原始字符串是 utf-8,为什么它不等于自身的 utf8 编码?为什么 utf8 编码会返回错误的字符? wampserver 配置有问题吗?

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com