【问题标题】:Fetching greek column names from sql server with php使用 php 从 sql server 获取希腊列名
【发布时间】:2012-09-15 17:45:12
【问题描述】:

我有一个希腊 sql server 2008 数据库,我使用 php 将数据获取到一个网站。数据库数据是 nvarchar。在与服务器的连接中,我将字符集设置为 utf-8 并在 html文件charset="utf-8"

当我从数据库中获取数据时,一切都很好,但是当我尝试使用 sqlsrv_field_metadata() 获取列名时,它会在浏览器中显示并带有问号。 如果我从 information_schema.columns 视图中获取列名,它们会显示得很好。

我该怎么办?

有没有办法检查列名是否为nvarchar

*更新:*原来它是一个用于 php 错误的 sql server 驱动程序,并且该问题已添加到 Codeplex http://sqlsrvphp.codeplex.com/workitem/22417

【问题讨论】:

    标签: php html sql-server encoding


    【解决方案1】:

    尝试连接

    sqlsrv_connect ($serverName, array('CharacterSet' => 'windows-1253'));
    

    【讨论】:

    • 我想使用 pChart 库,如果我使用 windows-1253 图表无法显示字符,它支持 utf-8。
    【解决方案2】:

    您应该使用 mssql 模块而不是旧的 sqlsrv 库。

    打电话给你会使用:

    $dbhandle = mssql_connect($myServer, $myUser, $myPass)
      or die("Couldn't connect to SQL Server on $myServer"); 
    
    
    $selected = mssql_select_db($myDB, $dbhandle)
      or die("Couldn't open database $myDB"); 
    
    //execute a stored procedure:
    $query = "exec eCommerce.dbo.products_GET_Product_php @productId = $pid, @countryCode = " . $_SESSION['cc'] . ", @sid = ". $_SESSION['sid'];
    
    $result = mssql_query($query);
    
    while($row = mssql_fetch_array($result))
    { 
     $pagetitle = $row["product_name"];
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-19
      • 2017-03-15
      相关资源
      最近更新 更多