Php str_替换为";“坟墓”;口音
我正在开发一个网站,我想从数据库打印一些信息。我发现了一个问题,即带有“严重”重音的信息不可能转换为大写 例如,我有以下信息:John Serán Mollò,我需要将其转换为大写。这应该是结果:约翰·塞伦·莫尔 我正在尝试以下代码:Php str_替换为";“坟墓”;口音,php,Php,我正在开发一个网站,我想从数据库打印一些信息。我发现了一个问题,即带有“严重”重音的信息不可能转换为大写 例如,我有以下信息:John Serán Mollò,我需要将其转换为大写。这应该是结果:约翰·塞伦·莫尔 我正在尝试以下代码: $filtre = array("à", "è", "ò"); $modificacions = array("a", "e", "o");
$filtre = array("à", "è", "ò");
$modificacions = array("a", "e", "o");
$phrase = str_replace($filtre, $modificacions, $vols[$i]['crew']);
var_dump($phrase);
echo strtoupper($phrase); ?>
在这种情况下,结果应该是JOHN SERAN MOLLO(没有口音),但我得到了这个:JOHN SERáN MOLLò
我做了什么坏事?我怎样才能得到JOHN SERAN MOLLO(没有重音符号),或者,如果可能的话,我怎样才能得到JOHN SERÀN MOLLÒ(大写重音符号)。如果您的安装加载了扩展名(根据我的经验,大多数是这样),您应该能够使用,例如 默认情况下,这将使用默认的内部编码,因此这应该是您所需要的全部,但是您可能还需要提供第二个参数来指定字符串编码 如果函数不可用,这里有一个polyfill可用:使用strtoupper()函数或mb_strtoupper()函数。哇哈,试试这个。。。祝您今天过得愉快。。。西娅
<?php
setlocale(LC_CTYPE, 'de_DE.UTF8');
echo strtoupper('Umlaute äöü in uppercase'); // outputs "UMLAUTE äöü IN UPPERCASE"
echo mb_strtoupper('Umlaute äöü in uppercase', 'UTF-8'); // outputs "UMLAUTE ÄÖÜ IN UPPERCASE"
?>
a
和a
不一样。将a
添加到$modifications
数组为什么不直接将a
替换为等?(如果应用程序中的编码是一致的)为什么要将实体与字符串进行比较?当然,这就是它不起作用的原因。可能是重复的。你试过mb\u strotupper
吗?
<?php
setlocale(LC_CTYPE, 'de_DE.UTF8');
echo strtoupper('Umlaute äöü in uppercase'); // outputs "UMLAUTE äöü IN UPPERCASE"
echo mb_strtoupper('Umlaute äöü in uppercase', 'UTF-8'); // outputs "UMLAUTE ÄÖÜ IN UPPERCASE"
?>