0

このコード行を実行しています。

$string = convert_case('MONTAÑA 221');

public function convert_case($string)
{
    $string = mb_convert_case($string, MB_CASE_TITLE, "UTF-8");

    return $string;
}

laravelで実行すると空の文字列が得られますが、wampで単純なtest.phpファイルを使用してブラウザで実行すると、正しい文字列が得られます。

4

2 に答える 2

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));
}

出力:

モンタナ221

必要と思われる場所にコーディングします。このコードは、バックエンドでの実行に固有のものです。HTML の使用:

<meta charset="utf-8">

それがフロントエンドで正しく出力される理由かもしれません。

于 2016-11-03T18:06:32.923 に答える