Я использую MS SQL 2008 Express для подключения к общему серверу MS SQL 2008, на котором у меня есть база данных. Сортировка по умолчанию для БД в настоящее время 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, результаты отображают только несколько тонких прямоугольников. Если я скопирую набор тонких блоков и вставлю их сюда (переполнение стека, задайте вопрос, текстовое поле), они отобразятся как правильные символы (вот я иду:空炮鸡蛋). Можно ли настроить MS SQL 2008 Express для их правильного отображения?
Гораздо важнее то, что когда я запускаю свой PHP-сайт, который в конечном итоге должен правильно отображать символы для публики, я получаю только вопросительные знаки (????). Я использую mssql_query()
для запроса БД. У меня есть следующий код в верхней части моего HTML5 HEAD:
... и следующий код в моем PHP:
header('Content-Type:text/html; charset=UTF-8');
... но я вижу только вопросительные знаки. Итак, подводя итог, 2 вопроса:
1)Как сделать, чтобы это отображалось корректно в MS SQL 2008 Express?
2)Как сделать так, чтобы это правильно отображалось в PHP/HTML?
Заранее спасибо!