检索数据库中的中文字符

时间:2013-09-09 08:38:48

标签: php sql-server

我有一个包含中文字符和英文的数据库。当我查询数据库以使用php在我的浏览器上显示它们时,我得到的所有中文字符都是乱码,没有可读的字符。

我尝试过的: ini_set('mssql.charset','UTF-8') 在客户端,我确保我包含指定UTF-8的元标记。

我正在使用mssql服务器 语言是php

任何帮助都会很棒。感谢

2 个答案:

答案 0 :(得分:1)

去年我参与了一个中国移民项目,可以指出一些事情要看:

  1. 检查您使用的是NVARCHAR和NCHAR作为数据库数据类型。不要使用VARCHAR / CHAR
  2. 我没有太多使用PHP,但在我使用过的大多数语言中,你需要确保设置/支持适当的语言环境。
  3. 所以要检查一些内容,尝试在示例.php文件上输出一些中文文本,以确认它是否按预期显示。接下来,使用正确的数据类型更新架构。最后,将测试脚本指向数据库,以查看数据是否按预期显示。

答案 1 :(得分:0)

尝试在连接后设置PHP文件中的字符集。然后运行查询。

<?php 
include('db_access.php');
$dbc = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);

mysqli_set_charset($dbc, "utf8");  // Set the character set here!!

$query = "SELECT chinese FROM my_table";
while ($row = mysqli_fetch_array($query)) { 
echo $row['chinese'].'<br />';
}  
?>

PHP手册:http://cn2.php.net/manual/zh/mysqli.set-charset.php