首页 > 解决方案 > SqlServer 中 Ñ 字母的问题

问题描述

我有一个带有 Modern_Spanish_CI_AS 排序规则的 SQLSERVER 2019 数据库,它允许我存储字母 ñ 和特殊字符,但是当信息以 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);
        }
    }
?>

我需要帮助才能正确显示 Ñ 字母。

此致

标签: phphtmlsql-serversqlsrvletter

解决方案


推荐阅读