mysql:万恶的乱码之when语句中产生的乱码
使用mysql又遇到问题了,这次是关于乱码的...
其实我也比较了解编码的问题,也知道乱码产生的原理,而且网上对mysql的乱码问题也有比较多的解答,
但是今天我遇到的这个乱码却比较奇怪,在when语句中产生了奇怪的乱码。
create table my_table(id int, name varchar(50), born DateTime);
insert into my_table values(1, '张三', 1986-9-9);
insert into my_table values(2, '李四', 1987-9-10);
insert into my_table values(3, '王五', 1988-9-11);
select case when id like '1' then born when id like '2' then concat(name, born) end from my_table
如上语句执行之后,id为2的那行的‘张三’就是乱码。改为:
select case when id like '1' then convert(born, char) when id like '2' then concat(name, born) end from my_table
问题即可解决。难道when语句从第一个条件判定输出的编码?
相关文档:
由于项目需要,对mysql分布事务有一定要求.这里先简单说明必要.
假设,日常财务中,要完成一个拥护订购,必须将定单操作和财务操作封在一个事务中才能保证交易完整性.
如果定单和财务数据都分布在各自的实例中,则必须用分布事务才能满足.
废话不多,进入分布事务探索。
(本文例子来自网络,本文只注重探索)
1.在本机 loca ......
断电或非正常关机而导致MySQL(和PHP搭配之最佳组合)数据库出现错误是非常常见的问题。有两种方法,一种方法使用MySQL(和PHP搭配之最佳组合)的check table和repair table 的sql语句,另一种方法是使用MySQL(和PHP搭配之最佳组合)提供的多个myisamchk, isamchk数据检测恢复工具。前者使用起来比较简便。推荐使用。
1. ......
忘记MySQL ROOT密码是在MySQL使用中很常见的问题。没想到今天就碰到这样一个问题:内部的mysql的root密码被修改了。查阅资料,有如下方法: Unix&Linux:
1.用root或者运行mysqld的用户登录系统;
2.利用kill命令结束掉mysqld的进程;
3.使用--skip-grant-tables参数启动MySQL Server
shell& ......
1、PHP发送中文、Ajax接收
只需在php顶部加入一句:
header('Content-type: text/html;charset=GB2312');
xmlHttp会正确解析其中的中文。
2、Ajax发送中文、PHP接收
这个比较复杂:
Ajax中先用encodeURIComponent对要提交的中文进行编码
PHP中:
$GB2312string=iconv( ‘UTF-8′, ‘gb2312//I ......