8月16最新线报:002181(粤传媒)这句话的乱码显示为:
8月16最新线报:002181ï¼ˆç²¤ä¼ åª’ï¼‰数字能完全显示,汉字变为三位乱码一开始数据库是用的latin1_general_ci,我发现后改为UTF8但是文字插入数据库后依然是乱码,但是显示在页面上却能正确显示,现在我想截取一部分汉字显示,但是刚检索出来的数据是乱码,截取的位数也是按乱码算的,请问这样有什么办法么?比如:8月16最新线报:002181(粤传媒)这句话我只想显示:8月16最新线报
8月16最新线报:002181ï¼ˆç²¤ä¼ åª’ï¼‰数字能完全显示,汉字变为三位乱码一开始数据库是用的latin1_general_ci,我发现后改为UTF8但是文字插入数据库后依然是乱码,但是显示在页面上却能正确显示,现在我想截取一部分汉字显示,但是刚检索出来的数据是乱码,截取的位数也是按乱码算的,请问这样有什么办法么?比如:8月16最新线报:002181(粤传媒)这句话我只想显示:8月16最新线报
character_set_client utf8
character_set_connection utf8
character_set_database utf8
character_set_filesystem binary
character_set_results utf8
character_set_server gbk
character_set_system utf8
collation_connection utf8_general_ci
collation_database utf8_general_ci
collation_server gbk_chinese_ci的确还有两个没改 请问这两个怎么修改
mysql设置latin1_general_ci或者utf8,那只是排序的根据,不是真的把库里的字符转码了。改不了的。
新的一个汉字3字节,老的6字节详细见此
http://www.htkou.net/forum/index.php?id=13067
mysql_query("SET CHARACTER SET UTF8");
mysql_query("SET CHARACTER_SET_RESULTS=UTF8'"); 加了么?还乱码的话,看看服务器OS呢 Linux的话是UTF8么
mysql_query('set character_set_client = utf8');
mysql_query('set character_set_connection = utf8');
mysql_query('set character_set_results = utf8');
页面编码和数据库编码都设为UTF-8试试看,我就是这样解决的。
先写个方法
<script type="text/javascript">
function my_split(s){
var str = s.substr(0,17);
document.write(str);
}
</script>
然后在PHP里面调用$title = "<script type=\"text/javascript\"> my_split(\"$title\")</script>" ;