我正在运行这行代码。
$string = convert_case('MONTAÑA 221');
public function convert_case($string)
{
$string = mb_convert_case($string, MB_CASE_TITLE, "UTF-8");
return $string;
}
当我在laravel中运行时,我得到空字符串但是当我在浏览器中使用一个简单的test.php文件在wamp上运行它时,我得到了正确的字符串。
答案 0 :(得分:1)
之前我见过这样的问题,也许你的问题与众不同,但设置HTML页面的编码可能对你有用。
在标题中:
<meta charset="utf-8" />
答案 1 :(得分:1)
根据您发布的代码解决您的问题:
$string = 'MONTAÑA 221';
|
v
public function convert_case($string)
{
$string = html_entity_decode($input,ENT_COMPAT,"UTF-8");
$oldLocale = setlocale(LC_CTYPE, '0');
setlocale(LC_CTYPE, 'en_US.UTF-8');
$string = iconv("UTF-8","ASCII//TRANSLIT",$string);
setlocale(LC_CTYPE, $oldLocale);
return strtolower(preg_replace('/[^a-zA-Z0-9]+/','',$string));
}
<强>输出:强>
montana221
在您感到需要的空间中编码。此代码特定于在后端运行。 使用HTML&#39;:
<meta charset="utf-8">
可能是它在前端正确出现的原因。