① SQL表列名如何在导出到Excel后显示出中文
字段+空格+“别名”
例:
select aaaa “第一列”,bbbb “第二列” from cccc
② mysql数据库怎样设置中文编码
解决方式
在导出mysql sql执行文件的时候,指定一下编码格式:
复制代码代码如下:
mysqlmp -uroot -p --default-character-set=utf8 mo(dbname) > E://xxxx.sql
导入的时候OK了
执行如下
复制代码代码如下:
mysql -u root -p --default-character-set=utf8
use dbname
source /root/newsdata.sql
③ oracle数据导出spool方式,中文出现乱码是什么原因
一般来说,oracle数据导出spool方式,中文出现乱码,这情况是因为数据库服务器和客户端字符集不匹配,执行sqlplus的机器就是客户端,服务器和客户端也可能是一台机器,执行sqlplus之前要先设置客户端的字符集,在linux上:export NLS_LANG=.......
在windows上set NLS_LANG查询数据库字符集:select property_value from database_properties where property_name like 'NLS_CHAR%';
1、比如查询结果是:ZHS16GBK
那你在sqlplus之前要设置:export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
然后再登录sqlplus用spool生成数据
检查下你导出时候的环境变量,导入时的环境变量
2、比如导出时NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
导入时NLS_LANG没有设置,或者设置为其他字符集,则导入的库内汉字就有可能变成乱码。
解决方法,连接数据库的时候设置正确字符集即可。
④ 数据库中怎么样使查询结果的列名为对应中文
1、创建测试表,create table test_student(stu_id number, class_id number);
⑤ 我用navicat连接Oracle数据库,导出来表的注释是中文的情况下是乱码,客户端的字符集怎么修改
数据库端如果要正常显示中文,一般都是zh16gbk,可以尝试一下。
⑥ asp导出access数据到excel时如何把原字母字段名改成中文的
经亲身实践,对楼上稍作一个单词修改,就OK了。以下是全部
原代码部分
-------------------------------------------
For each x in rstData.fields
strLine = strLine & x.name & chr(9)
next
------------------------------------------
替换为如下部分
-----------------------------------------
dim aa
for each x in rstData.Fields
aa=""
select case x.name
case "name"
aa="姓名"
case "date"
aa="日期"
case "备注"
aa="备注"
case "张三"
aa="章三"
......
end select
strLine = strLine &aa& chr(9)
next
----------------------------------------
注意:所有表的列名都必须重新定义
⑦ PHP从数据库导出数据时,怎么修改导出的字符编码,让导出的汉字不会有出现乱码
导出前 mysql_query("set names utf8");
当然,实际情况可能更复杂,还得看数据库本身的编码
建议看mysql 的 系统变量
mysql> show variables like "%charset%";
⑧ 从数据库导出到excel表格时怎样修改excel表格的日期格式
直接右击单元格--属性,然后更改成你需要的日期格式。
但是经常会碰到需要双击一下,才更改成新的日期格式。
这个问题也可以解决,如果你碰到类似的问题,也可以解决。
⑨ 导出的MYSQL数据库是乱码还可以变回中文吗
如果是在WINDOWS环境下,可以用如下代码试试:
<?php
ob_start();
$filename = dirname(__FILE__)."\words.xls";$cols=array("A","B","C","D","E","F"); //EXCEL里的列$rows=1000; //每个sheet最多处理的行数
$conn=mysql_connect("localhost","root","");mysql_select_db("db01");
mysql_query("set names 'utf8'");
function replace_str($str="",$replace=" "){
$tmp=$str;
while(true)
{
$len=strlen($tmp);
$tmp=str_replace($replace.$replace,$replace,$tmp);if(strlen($tmp)==$len) return $tmp;
}
}
$excel_app = new COM("Excel.application",null,CP_UTF8) or Die ("Did not connect"); //CP_UTF8 是关键$Workbook = $excel_app->Workbooks->Open("$filename") or Die("Did not open $filename $Workbook");for($b=1;$b<=3;$b++)
{
$sheet='sheet'.$b; //要打开的sheet 的名称$Worksheet = $Workbook->Worksheets($sheet);$Worksheet->activate;
printf("%s,正在处理:%s<br>",date("H:i:s"),$sheet);$space_lines=0; //空行的数量,初始值为0
for($j=1;$j<=$rows;$j++)
{
$Data="";
for($i=0;$i<6;$i++)
{
$excel_cell = $Worksheet->Range($cols[$i].$j);$excel_cell->activate;
$excel_result = $excel_cell->value;
//压缩连续空格
$Data[]= replace_str($excel_result);//某一列的数据unset($excel_result);
}
if($Data[0]!="") //如果第一列不为空,即有内容,执行插入数据库操作{
$sql=sprintf("insert into qlibs(a,b,c,d,e,f) values ('%s')",implode("','",$Data));mysql_query($sql) or die (mysql_error()."\n".$sql);printf("process:data:%s<br>",$sql);
}
else {
$space_lines++; //否则为空行,空行数加1
}
printf("%s,process:%s,row:%s,space_lines:%s<br>\n",date("H:i:s"),$sheet,$j,$space_lines);ob_flush();
if($space_lines>10) //连续10行以上空行,认为以下再没有数据,提前结束本sheet的处理{
$space_lines=0; //空行数量置为0
$j=$rows; // 行数直接设置为最大处理行数
}
}
}
ob_end_flush();
#To close all instances of excel:
$Workbook->Close;
unset($Worksheet);
unset($Workbook);
$excel_app->Workbooks->Close();
$excel_app->Quit();
unset($excel_app);
?>
⑩ 如何处理导出的数据中文显示乱码问题
首先要检查数据库里面是否是
乱码
,如果不是在看数据库的编码和你设置的编码是否一致,不一致也会产生读取时乱码。
如果都没问题用的是servlet应用的话可以写个过滤器
乱码问题一般都是这样解决的