我正在使用MS SQL 2008 Express连接到我有数据库的共享MS SQL 2008服务器。 DB的默认排序规则目前为SQL_Latin1_General_CP1_CI_AS
。最后,我想存储英语,韩语,中文以及数据库中可以想象的任何其他语言。我已经开始使用以下SQL代码(我在这里找到:http://social.msdn.microsoft.com/Forums/en-US/transactsql/thread/5d2ea1a2-32e1-4a82-b6e3-17d2b898babc/)来测试:
create table zhongwen(mingzi nvarchar(10))
go
insert into zhongwen values (N'有方')
insert into zhongwen values (N'李杰')
insert into zhongwen values (N'空炮鸡蛋')
go
select * from zhongwen
go
create procedure zhongwenfind
(@mingzi nvarchar(10))
AS
SELECT mingzi FROM zhongwen
WHERE mingzi = @mingzi
go
exec zhongwenfind N'李杰'
go
drop table zhongwen
go
drop procedure zhongwenfind
go
当我在MS SQL 2008 Express中运行此代码时,结果只显示几个精简框。如果我复制一组薄盒并将它们粘贴在这里(堆栈溢出问一个问题textarea),它们会显示为正确的字符(这里我去:空炮鸡蛋)。是否可以设置MS SQL 2008 Express以正确显示它们?
更重要的是,当我运行最终应该向公众正确显示字符的PHP网站时,我只会得到问号(????)。我正在使用mssql_query()
来查询数据库。我的HTML5 HEAD顶部有以下代码:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
...以及我的PHP中的以下代码:
header('Content-Type:text/html; charset=UTF-8');
...但我只看到问号。所以,总结一下,有两个问题:
1)如何在MS SQL 2008 Express中正确显示?
2)如何在PHP / HTML中正确显示?
提前致谢!
答案 0 :(得分:0)
我的应用程序中有同样的问题,同时使用重音字符(获取???),我通过将数据库,表格和文本字段的编码更改为utf8_unicode_ci以及文件编码来解决它。如果您正在使用实时服务器,请在转换之前备份db。此外,在updatinng表和字段排序规则之前,将文本字段数据存储到blob。
希望它有所帮助!
答案 1 :(得分:0)
我有类似的要求,我能够解决这个问题,能够显示韩语和日语 [SQL Server 2008 R2 Express和HTML + ASP.NET]
对于SQL Server中的数据库归类,请使用 SQL_Latin1_General_CP1_CI_AS
在服务器/计算机上部署代码时 - 确保将HTML文件另存为 UTF-8 编码 (要检查此项 - 打开文件&gt;另存为&gt;检查编码)