2

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

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

我使用 mssql 服务器语言是 php

任何帮助都会很棒。谢谢

4

2 回答 2

1

去年我参与了一个中国移民项目,可以指出一些值得关注的地方:

  1. 检查您是否使用 NVARCHAR 和 NCHAR 作为数据库数据类型。不要使用 VARCHAR/CHAR
  2. 我没有太多使用 PHP,但是在我使用过的大多数语言中,您需要确保设置/支持适当的语言环境。

所以有几件事要检查,尝试在示例 .php 文件上输出一些中文文本,以确认它按预期显示。接下来,使用正确的数据类型更新您的架构。最后,将您的测试脚本指向数据库以查看数据是否按预期显示。

于 2013-09-09T08:44:35.407 回答
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

于 2014-06-04T09:56:47.527 回答