gpt4 book ai didi

php - ucwords 和法语重音字母编码

转载 作者:可可西里 更新时间:2023-11-01 13:45:46 27 4
gpt4 key购买 nike

<分区>

我们有一个加拿大地址的数据库,都是大写的,客户要求我们转换为小写,希望第一个字母和'-'之后的字母

所以我实现了这个功能,但是我在处理带有法语重音符号的字母时遇到了问题。

当文件和字符集为 ISO-88591 时,它工作正常,但当我尝试将其设为 UTF-8 时,它不再工作了。

输入示例:'damien-claude élanger'输出:Damien-Claude élanger

utf-8中的é会变成�

 function cap_letter($string) {
$lower = str_split("àáâçèéêë");
$caps = str_split("ÀÁÂÇÈÉÊË");
$letters = str_split(strtolower($string));

foreach($letters as $code => $letter) {
if($letter === '-' || $letter === ' ') {
$position = array_search($letters[$code+1],$lower);
if($position !== false) {
// test
echo $letters[$code+1] . ' == ' . $caps[$position] ;
$letters[$code+1] = $caps[$position];
}
else {
$letters[$code+1] = mb_strtoupper($letters[$code+1]);
}
}
}
//return ucwords(implode($letters)) ;
return implode($letters) ;
}

我想到的另一个解决方案是:ucwords(strtolower($str)) 因为所有地址都已经大写所以即使在应用 strtolower 之后 É 也会保持 É。

但是我会遇到在 ex 中包含 É 的问题:XXXÉXXÉ

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