0

我对西里尔字符有疑问。这是显示我如何设置所有内容的图像http://i.stack.imgur.com/UHssn.jpg。如您所见,一切都是 UTF-8,但西里尔字符仍然作为问号菱形从服务器中出来。我使用了 mb_detect_encoding -function,它说那些菱形是 UTF-8 编码。

当我通过 bin2hex 运行时,它给出了这个:

1100 - cccdcec3ced1cbcec9cdc0df20cac5d0c0ccc8cac0
1200 - d2cecbd1d2cecfcbc5cdced7cdc0df20cac5d0c0ccc8cac0
1300 - c1cecdc4c8cdc32fcdc0cdc5d1c5cdc8c520ddcfcecad1c8c4cac8 
1400 - d3d1d2c0cdcec2cac020cad0c8d1d2c0cbcbcec2
1500 - d3d1d2c0cdcec2cac020cfd0cec2cec4cec2
1600 - c1cecdc4c8cdc32fc8cdcac0cfd1d3cbdfd6c8df

问题仅在于来自 MSSQL 服务器的数据。来自 php lang 文件的其他西里尔语言数据显示正确。这可能是什么原因造成的?

4

2 回答 2

0

我从其他stackoverflow问题中找到了解决方案!

在 /etc/freetds/freetds.conf 中,必须添加这两行。

[global]
tds version = 8.0
client charset = UTF-8

现在 nchar 和 nvarchar 数据类型显示正确的西里尔字母!

于 2013-10-01T11:53:26.607 回答
0

I would suggest you to change the collation to utf_bin and try once. and put this line on top of your page:

<?=header('Content-Type: text/html; charset=UTF-8');?>
于 2013-09-30T08:37:06.337 回答