У меня есть база данных 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);
}
}
?>
Мне нужна помощь, чтобы правильно отображать букву Ñ.
С уважением