欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

乱码 - php使用odbc的方式从sqlserver2005中读取中文显示出现黑点

程序员文章站 2022-05-31 20:30:25
...

我使用php通过odbc的方式从sqlserver中读取中文然后显示在网页中,网页的编码为UTF-8,网页源代码文件编码为UTF-8,我使用mb_convert_encoding函数将读取到的中文转为UTF8显示,在chrome下面没有问题。但是在IE8下面,能够显示中文,但是在中文后面多出一个黑点,但是查看源代码又没有这个黑点。请问这是什么原因啊?谢谢!
乱码 - php使用odbc的方式从sqlserver2005中读取中文显示出现黑点

回复内容:

我使用php通过odbc的方式从sqlserver中读取中文然后显示在网页中,网页的编码为UTF-8,网页源代码文件编码为UTF-8,我使用mb_convert_encoding函数将读取到的中文转为UTF8显示,在chrome下面没有问题。但是在IE8下面,能够显示中文,但是在中文后面多出一个黑点,但是查看源代码又没有这个黑点。请问这是什么原因啊?谢谢!
乱码 - php使用odbc的方式从sqlserver2005中读取中文显示出现黑点

在数据库设计中,需要注意一个问题就是中文的存储问题。对于固定长度的中文可以使用nchar,但是对于可变长度的中文一定要使用nvarchar,这样在用php的函数mb_convert_encoding的时候,才不会出错。如果你用了nchar,那么如果提供的字符数目不够定义的长度时,默认会填充空白字符。这样会导致编码转换出错。在UTF-8的页面里面,可以使用

mb_convert_encoding($str,"UTF-8","GBK");

来讲sqlserver的中文转换为UTF-8。默认安装sqlserver中文的时候选择的collation方式是Chinese_PRC_CI_AS。谢谢大家了。

这个很明显是CSS中无序排列 ul li 的 list-style-type 属性,即列表符号。
解决办法,找到相应的CSS ,给 li 加上

list-style:none;