【问题标题】:why MSSQL SERVER return question marks, when I execute query in PHP?当我在 PHP 中执行查询时,为什么 MSSQL SERVER 返回问号?
【发布时间】:2011-10-04 19:31:57
【问题描述】:

我的数据库服务器是 MSSQL SERVER,我使用 PHP 的 PDO 类连接到它,连接成功,但是当我执行查询时,我收到所有文本类型字段的问号。

我的 HTML 字符集中有“UTF-8”,我的数据库排序规则是“Latin1_General_BIN”,字段类型是 nvarchar(50)。

如果您对此问题有一些解决方案,请回复。

【问题讨论】:

    标签: php sql-server


    【解决方案1】:

    我四处搜寻,在 php.net 上找到了一个帖子。

    也许这会有所帮助(来自http://php.net/manual/en/book.pdo.php#98659

    这可以从 MSSQL 获取 UTF8 数据:

    <?php
    $db = new PDO('dblib:host=your_hostname;dbname=your_db;charset=UTF-8', $user, $pass);
    ?>
    

    您可以尝试使用不同的charset 参数来查看是否有效。

    【讨论】:

    • 感谢您的 danishgoal,但您的答案不正确,因为“charset=UTF-8”仅适用于 MySQL 而不适用于 MSSQL SERVER。
    • @IceMan 我没有尝试过这个,我只是发布这个作为某人(见链接)发布它对他们有用。是的,它被提到使用 MSSQL,但它是通过 PDO_DBLIB。你在使用 PDO_ODBC 吗?
    猜你喜欢
    • 1970-01-01
    • 2011-12-04
    • 1970-01-01
    • 2012-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多