转载自:http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspx
最近关于中文显示乱码的贴子比较多,所以也做了个总结:
可以参考一下杨涛涛版主的《各种乱码问题汇总》
http://topic.csdn.net/u/20071124/08/3b7eae69-ed1d-4a77-8895-9930bf3601af.html
MySQL字符集的原理介绍。摘录于官方文档。http://dev.mysql.com/doc/refman/5.1/zh/charset.html
不同的编码格式会导致同一字符,在不同字符集下的编码会不同。同样同一编码在不同的字符集中代码的字符也不相同。当你的MySQL返回的字符串的编 码格式(字符集)与你的客户工具程序(mysql, php, query browser, …)当前使用的字符集不同时,就会造成乱码。 比如一个英国朋友告诉你Long, 当一位中国小学生看到后就会告诉你“龙”而不是“长”
关于字符集的详细介绍和例子,建议花一点时间看一下
http://dev.mysql.com/doc/refman/5.1/zh/charset.html (第10章:字符集支持)。
这里仅摘要一下。
MySQL中默认字符集的设置有四级:服务器级,数据库级,表级 。最终是字段级 的字符集设置。注意前三种均为默认设置,并不代码你的字段最终会使用这个字符集设置。所以我们建议要用show create table table ; 或show full fields from tableName; 来检查当前表中字段的字符集设置。
MySQL中关于连接环境的字符集设置有 Client端,connection, results 通过这些参数,MySQL就知道你的客户端工具用的是什么字符集,结果集应该是什么字符集。这样MySQL就会做必要的翻译,一旦这些参数有误,自然会导 致字符串在转输过程中的转换错误。基本上99%的乱码由些造成。
乱码后需要检查的信息。(如果需要论坛上的朋友帮助,建议你提供以下信息 )
1. 数据库表中字段的字符集设置 。show create table TableName 或 show full columns from tableName
mysql> show create table t1;
+——-+————————————
| Table | Create Table
+——-+————————————
| t1 | CREATE TABLE `t1` (
`id` int(11) NOT NULL,
`c1` varchar(30) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk |
+——-+————————————
1 row in set (0.00 sec)
mysql> show full columns from t1;
+——-+————-+—————-+——+—–+-
| Field | Type | Collation | Null | Key |
+——-+————-+—————-+——+—–+-
| id | int(11) | NULL | NO | PRI |
| c1 | varchar(30) | gbk_chinese_ci | YES | |
+——-+————-+—————-+——+—–+-
2 rows in set (0.00 sec)
mysql>
2. 当前联接系统参数 show variables like ‘char%’
mysql> show variables like ‘char%’;
mysql, 中文显示乱码
更多
本文转载自网络
一、前言
很久前就想写这篇文章,自己毕竟时间有限。今年1月份,我决定开始我的独立博客。于是选用的WordPress这个成熟的开源程序,而且 template也比较多。为了避免俗套,我在国外找的模板。但是,我在测试的时候用的是Google公司的Chrome浏览器,一个与IE 的内核不同的浏览器,它是把不同的label放到sandbox里面进行独立解析。浏览速度很快。我做完模板的汉化后,就开心把博客上线了。没过几天,电 脑中了恶意软件慢的要死。我就Ghost重装了系统,在下载Chrome的时候我依然访问着我的博客。悲剧出现了,右上角显示“首页”的地方不能完全显示 了。而且还有一些严重的排版错误,也很出乎我意料。于是,我就愈发想写这篇文章,来告诉 国人IE6不能再用了!
IE6浏览器, killiE6, 缺陷
更多
万恶的IE6,一直是网页设计人员心中的痛,虽然有很多解决兼容性办法的方法,但我觉得直接判断网页是不是IE6的比较直接有效,如果是IE6则像 用户提示升级,并提供升级的链接,如果用户仍然“执迷不悟”的话,那也不必强求了,毕竟顾客才是上帝嘛,如果他们关闭了提示信息也就没必要再多唠叨了,所 以可以通过cookie记录,关闭后不再显示提示信息。
实现代码(gbk编码的网页中):
<!–[if lt IE 7]>
<script src=”http://kainy.googlecode.com/svn/trunk/ie6/killie6.gbk.js”></script>
<![endif]–>
实现代码(utf-8编码的网页中):
<!–[if lt IE 7]>
<script src=”http://kainy.googlecode.com/svn/trunk/ie6/killie6.utf-8.js”></script>
<![endif]–>
将以上代码加入网页的 head 中,这样以后,用ie6打开该页面的访客就会在浏览器右下角显示如下图片啦:

ie6用户提示升级
ie6用户升级, 判断并提示
更多
GRANT ALL PRIVILEGES ON *.* TO root@”%” IDENTIFIED BY ‘root’ WITH GRANT OPTION;
上面的命令创建一个可以从任意机器以root登录的超级账号,口令是root。这样,就可以使用方便的图形工具进行登录和操作,包括修改root的口令。
mysql, 局域网, 远程连接
更多
- 2011年5月20日
- 381 个外来生物围观
- HTML, JS
一、网站相关
网页字体美化Cufon:
cufon字体文本替换技术,实现网页默认字体不足情况下加载新的字体文本效果,cufon.js基于yui框架实现。
技术简介
更多
把当前时间格式化:
echo date(‘Y-m-d’, time());
把指定的时间格式化:
echo gmdate(‘Y-m-d’, strtotime(“2011-06-09 19:17:37″));
php, 格式化时间
更多
功能:截取字符串中的前N个字符,并以指定字符串结束
1. 截取GB2312中文字符串
<?php
< ?php
//截取中文字符串
function mysubstr($str, $start, $len) {
$tmpstr = “”;
$strlen = $start + $len;
for($i = 0; $i < $strlen; $i++) {
if(ord(substr($str, $i, 1)) > 0xa0) {
$tmpstr .= substr($str, $i, 2);
$i++;
} else
$tmpstr .= substr($str, $i, 1);
}
return $tmpstr;
}
?>
2. 截取utf8编码的多字节字符串
PHP 截取字符串, php类, 截取字符串中的前N个字符, 指定字符串
更多
- 2011年4月9日
- 480 个外来生物围观
- HTML, 分享
对于每个网站开发者来说,设计是很重要的一部分。图标是设计中一个环节。你可以找到许多集合图标的网站。但很难找到免费的高质量图标。这是我在此分享一些免费的高质量图标搜索引擎的原因。你要访问这些引擎以找到高质量图标。如果你知道更多的网站,也请与我们分享! IconFinder
以简便并且有效的方式为网站设计者和开发人员提供高质量的图标。
免费, 图标搜索引擎, 小图标, 素材
更多
- 2011年3月30日
- 1,156 个外来生物围观
- HTML, JS
JQ方法大全
Dom:
Attribute:
$(“p”).addClass(css中定义的样式类型); 给某个元素添加样式
$(“img”).attr({src:”test.jpg”,alt:”test Image”}); 给某个元素添加属性/值,参数是map
$(“img”).attr(“src”,”test.jpg”); 给某个元素添加属性/值
$(“img”).attr(“title”, function() { return this.src }); 给某个元素添加属性/值
$(“元素名称”).html(); 获得该元素内的内容(元素,文本等)
$(“元素名称”).html(“new stuff”); 给某元素设置内容
$(“元素名称”).removeAttr(“属性名称”) 给某元素删除指定的属性以及该属性的值
$(“元素名称”).removeClass(“class”) 给某元素删除指定的样式
$(“元素名称”).text(); 获得该元素的文本
$(“元素名称”).text(value); 设置该元素的文本值为value
$(“元素名称”).toggleClass(class) 当元素存在参数中的样式的时候取消,如果不存在就设置此样式
$(“input元素名称”).val(); 获取input元素的值
$(“input元素名称”).val(value); 设置input元素的值为value
JQ方法大全
更多
在用AJAX与后台交互时经常要对中文进行编码解码,对于JS来说有两个函数:encodeURIComponent用于编 码,decodeURIComponent用于解码。而对于后台的PHP来说有两个相对应的编码解码函数:urlencode用于编 码,urldecode用于解码。现在看下列两段代码,
先给个PHP代码:
PHP与js之间的编码和解码, UrlDecode, UrlEncode
更多