phpmyadmin里显示正常,输出到网页显示乱码。(这个问题是我部署到服务器上才出现的)所有中文变成问号,而我本地的代码一切正常。
你的情况属于第四种,详情见:链接描述
第一
<script language="javascript">
var str1="张明政";
var str2=escape(str1);
window.alert(str2);
var str3=unescape(str2);
window.alert(str3);
</script>
第二
一、解决HTML中中文乱码问题方法
1、在head标签里面加入UTF8编码(国际化编码):UTF-8是没有国家的编码,也就是独立于任何一种语言,任何语言都可以使用的。
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
2、将文件的编码存为UTF-8。记事本或Editplus等编辑器都有保存时选择编码的功能。
二、HTML和PHP混合的页面解决方案
除了按照第一个方法所说的操作之外,还需要在文件的最上面加入这句代码:
<?php
header("Content-type:text/html;charset=utf-8");
?>
三、纯PHP页面的中文乱码问题(数据是静态的)
这个只需要在页面的开始处加入下面代码,然后保存UTF-8编码的文件即可。
<?php
header("Content-type:text/html;charset=utf-8");
?>
四、PHP+MySQL中文乱码问题
这个除了按照第三点所说的操作之外,还要在你的数据查询/修改/增加之前加入数据库编码。而且,值得注意的是,这里的UTF8和之前的不一样,中间是没有横线的。
<?php
mysql_query('SET NAMES UTF8');
//接下来的就是查出数据或者修改,增加
?>
五、正确显示上传的附件中文名
找到xampp/moodle中的文件config.php,
在$CFG->unicodedb = true;后加入$CFG->unicodecleanfilename = true;
即可使摩灯上传的附件可以正确显示中文名。
六、在ie浏览器中选择上传文件时还可能显示乱码等,可以在
lib/editor/htmlarea/coursefiles.php
第二行加上这样一句:// 可以用:set nu显示行号
@header("Content-Type: text/html; charset=utf-8"); //这个是默认选择utf-8编码
5 回答3.2k 阅读✓ 已解决
3 回答3.6k 阅读✓ 已解决
1 回答4k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
2 回答2.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
5 回答1.4k 阅读
设置数据库连接字符串编码 utf8
设置数据库级、表级以及字段级的字符编码为 utf8_general_ci,如果没有设置,默认是 latin1_swedish_ci(支持gbk,utf-8编码下会乱码)
初学者一般会犯第二个错误,因为我也犯过,