public function upperFirst($encoding = null)
    {
        if (!$this->hasMbstring()) {
            return $this->transform('\ucfirst');
        }

        $encoding = $this->encoding($encoding);

        $string = \mb_strtoupper(\mb_substr($this->string, 0, 1, $encoding), $encoding);

        $this->string = $string . \mb_substr($this->string, 1, \mb_strlen($this->string, $encoding), $encoding);
        return $this;
    }