文档章节

mysql表utf8编码,内容gbk编码的乱码转换

别人说我名字很长
 别人说我名字很长
发布于 2015/08/13 14:43
字数 251
阅读 294
收藏 7

今天遇到一个数据库库是utf8,表也是utf8,但内容是gbk的问题,出现了中文乱码

第一步  先把所有的表copy一份,比如表名叫 user,copy一份光表结构的,叫user2

第二步  把表中的数据转码后插入表2的表中

<?php
header("Content-type: text/html; charset=utf-8");        

function get_sql($tablename){
	$con = mysql_connect("localhost","root","root");
	if (!$con) die(mysql_error());

	mysql_select_db("bfwl",$con);
	mysql_query("set names 'utf-8'"); 

	$result = mysql_query("select * from ".$tablename." ");

	$txt = "";

	while($row = mysql_fetch_array($result)){
		$sql = "";
		foreach($row as $k=>$v){
			if(!is_numeric($k)){
				$v = iconv("GBK", "UTF-8", $v);
				$v = str_replace("\r\n", "<br>", $v);
				$v = trim($v);
				$v = str_replace("'", "“", $v);
				$v = str_replace('"', "”", $v);
				$sql .= "$k='$v',";
			}
		}
		$sql = trim($sql,",");	
		$sql = "INSERT INTO ".$tablename."2 SET ".$sql.";\r\n";
		excute($sql);
		$txt .= $sql;
	}
	//file_put_contents("sql/".$tablename.".sql", $txt);	
}

function excute($sql){
	$con = mysql_connect("localhost","root","root");
	if (!$con) die(mysql_error());
	mysql_select_db("bfwl",$con);
	mysql_query("set names utf8"); 
	mysql_query($sql);
	mysql_close($con);
}

//每个表来一次
get_sql("bingzhongbiao");
get_sql("chat_record");
get_sql("juesebiao");
get_sql("meitibiao");
get_sql("net_chz");
get_sql("net_xf_biao");
get_sql("yishengbiao");
get_sql("yiyuanbiao");
get_sql("yonghubiao");
get_sql("zaixian");
get_sql("zhanzhang");



第三步,把原表删除,把2的表改名  ok

© 著作权归作者所有

上一篇: ado.net封装类
下一篇: golang数据库操作
别人说我名字很长
粉丝 58
博文 265
码字总数 113918
作品 0
济南
程序员
私信 提问
MySQL中出现乱码问题的终极解决宝典

MySQL中出现乱码问题的终极解决宝典 这篇文章主要介绍了MySQL中出现乱码问题的终极解决宝典,包括编码转换和SQL数据进出等方面,无比给力,极力推荐这篇精华翻译!需要的朋友可以参考下 MySQL出现...

xiaocao13140
2018/06/04
0
0
Mysql中文乱码问题完美解决方案

MySQL会出现中文乱码的原因不外乎下列几点: 1.server本身设定问题,例如还停留在latin1 2.table的语系设定问题(包含character与collation) 3.客户端程式(例如php)的连线语系设定问题 强烈建...

猴亮屏
2014/11/25
44
0
MySQL中UTF8编码的数据在cmd下乱码

花了一下午,解决MySQL在Windows的cmd下中文乱码的问题。 mysql> use abc;Database changedmysql> select * from school;+----------+--------------------+------------------------------......

摆渡者
2015/11/12
1K
2
FaceBook专家:10分钟彻底解决MySQL乱码问题?

本文由【DBA+社群】原创专家卢钧轶为大家较为详细的介绍字符集,字符编码, MySQL乱码的成因和具体的解决方案。 目录 Part 1 字符集和字符编码 · 什么是字符集 · 什么是字符编码 · UTF-8和...

卢钧轶
2016/01/08
0
0
彻底解决mysql中文乱码的办法

MySQL会出现中文乱码的原因不外乎下列几点: 1.server本身设定问题,例如还停留在latin1 2.table的语系设定问题(包含character与collation) 3.客户端程式(例如php)的连线语系设定问题 强烈建...

辰月
2015/08/15
243
0

没有更多内容

加载失败,请刷新页面

加载更多

代理模式之JDK动态代理 — “JDK Dynamic Proxy“

动态代理的原理是什么? 所谓的动态代理,他是一个代理机制,代理机制可以看作是对调用目标的一个包装,这样我们对目标代码的调用不是直接发生的,而是通过代理完成,通过代理可以有效的让调...

code-ortaerc
今天
5
0
学习记录(day05-标签操作、属性绑定、语句控制、数据绑定、事件绑定、案例用户登录)

[TOC] 1.1.1标签操作v-text&v-html v-text:会把data中绑定的数据值原样输出。 v-html:会把data中值输出,且会自动解析html代码 <!--可以将指定的内容显示到标签体中--><标签 v-text=""></......

庭前云落
今天
8
0
VMware vSphere的两种RDM磁盘

在VMware vSphere vCenter中创建虚拟机时,可以添加一种叫RDM的磁盘。 RDM - Raw Device Mapping,原始设备映射,那么,RDM磁盘是不是就可以称作为“原始设备映射磁盘”呢?这也是一种可以热...

大别阿郎
今天
12
0
【AngularJS学习笔记】02 小杂烩及学习总结

本文转载于:专业的前端网站☞【AngularJS学习笔记】02 小杂烩及学习总结 表格示例 <div ng-app="myApp" ng-controller="customersCtrl"> <table> <tr ng-repeat="x in names | orderBy ......

前端老手
昨天
16
0
Linux 内核的五大创新

在科技行业,创新这个词几乎和革命一样到处泛滥,所以很难将那些夸张的东西与真正令人振奋的东西区分开来。Linux内核被称为创新,但它又被称为现代计算中最大的奇迹,一个微观世界中的庞然大...

阮鹏
昨天
20
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部