[英]Display special characters from table in php page
我有一张桌子,上面有老师的名字。 有些名称就像具有特殊字符的René Visser
。 当我编写用于显示名称的SQL查询时,特殊字符被替换为
。 我已经试过cast()
但是不能正常工作。 我的查询是这样的。
$qry = mssql_query("SELECT CAST(FirstName_1 AS NVARCHAR(250)) AS Name FROM
tbl_teachers");
FirstName_1
nvarchar
类型。 我试图将FirstName_1强制转换为VARBINARY(8000)
,然后将结果强制转换为IMAGE,如下所示。
CAST(CAST(FirstName_1 AS VARBINARY(8000)) AS IMAGE) AS Name.
您应该为SQL Server使用UTF-8编码。
然后,确保您也使用以下命令从php发送编码标头:
header('Content-Type: text/html; charset=utf-8');
您将需要指定字符集,或者如果已经指定,则将其设置为Windows-1252。 您的页面可能正在读取UTF-8编码的数据。 哪个解释了? 符号。
<head>
<meta charset="Windows-1252">
</head>
您最有可能遇到字符集问题。 您的查询与此无关,您无需强制转换。
您需要将连接的字符集,PHP和HTML标头以及文档本身设置为同一字符集。 UTF-8很可能会涵盖您将需要的所有特殊字符。
以下是您可以做的一些事情。
ini_set('mssql.charset', 'UTF-8');
(在连接到数据库后运行) header('Content-Type: text/html; charset=utf-8');
(必须在任何和所有输出之前调用) <meta charset="utf-8">
(必须位于<head>
-tag内 数据库本身及其表可能需要设置为UTF-8。 可以使用以下查询完成此操作(只需运行一次):
ALTER DATABASE databasename CHARACTER SET utf8 COLLATE utf8_unicode_ci; ALTER TABLE tablename CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
请记住,必须将应用程序的所有部分都设置为相同的字符集类型,否则您将在数据库中遇到这种情况。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.