Проблемы с Ñ Letter в SqlServer - PullRequest
0 голосов
/ 13 июля 2020

У меня есть база данных SQLSERVER 2019 с сопоставлением Modern_Spanish_CI_AS, которая позволяет мне хранить буквы ñ и специальные символы, но когда информация отображается в форме HTML, она не отображает букву Ñ.

В заголовке я включил UTF-8

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>

Я работаю под IIS 10 (Windows 10) и PHP 7.4

В документе php .ini были добавлены следующие строки кода.

default_charset = UTF-8 
internal_encoding = UTF-8 
input_encoding = UTF-8 
output_encoding = TF-8 
mbstring.language = UTF-8 
mbstring.internal_encoding = UTF-8 
mbstring.http_input = UTF-8

Изображения HTML Информация о формах и таблицах.

HTML ФОРМА

Изображение HTML Форма без Ñ

ТАБЛИЦА

Информация о таблице с Ñ

Код модели:

public function lista_paises()
{
    $respuesta = $this->con->db->execute('lista','paises','');
    foreach ($respuesta as $key)
    {
        echo utf8_decode("<option value='$key[0]'>$key[2]</option>");

    }
}

Экземпляр кода, выполняющего SQLSERVER

   <?php
    class Sqlsrv{

        var $host;
        var $user;
        var $pass;
        var $dbName;

        function __construct($conf){
            $this->host = $conf['host'];
            $this->user = $conf['user'];
            $this->pass = $conf['pass'];
            $this->dbName = $conf['dbName'];
        }

        public function connect(){
            $conn = sqlsrv_connect($this->host,array("UID"=>$this->user,"PWD"=>$this->pass,"Database"=>$this->dbName));
            return $conn;
        }

        public function execute($action,$table,$data){
            $cad = '';
            foreach ($data as $value) {
                $cad = $cad."'".$value."'".",";
            }
            $cad = substr($cad, 0, -1);
            $sql = "exec ps_".$action."_".$table." ".$cad;
            $conn = $this->connect();
            $result = sqlsrv_query($conn,$sql);

            return $this->convertResult($result);
        }

        private function convertResult($result){
            $i = 0;
            while($rows = sqlsrv_fetch_array($result)){
                $list[$i] = $rows;
                $i++;
            }
            return $list;
        }

        public function disconnect($conn){
            sqlsrv_close($conn);
        }
    }
?>

Мне нужна помощь, чтобы правильно отображать букву Ñ.

С уважением

...