sql文件的编码格式
数据库文件格式是数据库系统定义的用来存放数据的文件格式。
一般情况下,大型数据库系统都将数据分成不同的文件来存放,如ORACLE,Sybase,
Informix,
MySql,也有只放在一个文件下的如SQL
Server,
Access,但无论放几个文件,其原理都是在各自文件内划分成许多页(Page),所有的数据都是按页来存放,这也是SQL
Server中建索引时指定"填充因子(Fill
Factor)"的用处;所有的页面都会对应一个索引页(B-Tree,
2叉树,堆等),通过索引页来调度。
一般的
数据库备份可以自定义扩展名的。
通常的
备份扩展名为
bak。
Ⅱ sql文件怎么打开,SQL格式是什么文件
通常情况下Mysql和SQL
Server数据库使用的都是SQL文件。
如果您需要打开SQL文件,您可以通过双击让电脑自动用默认程序打开,如果无法打开您就打开一个记事本,然后将SQL文件拖入记事本中就可以打开了。不过这样打开基本上是没什么意义的,虽然也能看到一些数据,但中文网站用的SQL文件打开后可能会出现大量乱码的情况。而且通常作为网站Mysql数据库备份的SQL文件其体积可能比较大,几MB到上百MB都有可能。这时使用记事本打开SQL文件可能会出现卡死现象,这时可以采用UE等专业文本编辑器打开。
特别提醒:SQL文件很有可能是重要的网站数据库文件,不建议大家使用记事本或其他不知来历的查看工具对SQL文件进行编辑。以免导致网站重要数据的丢失或数据库文件出错。
Ⅲ 怎么修改sql server2014的编码格式为utf-8
1、SQL2014存储UTF-8编码的时候,列类型需要使用nvarchar即可
2、在使用nvarchar类型时,需要注意其存储大小,最大:MAX
3、若存储一个汉字,则需要占用2个长度,例如nvarchar(10) ,最多存储5个汉字或10个半角字符
Ⅳ sql语句导入mysql数据库乱码怎么解决
sql语句导入mysql数据库乱码解决步骤如下:
1、首先要保证txt文件是用UTF8格式保存的,这里可以打开查看一下内容确认格式。
Ⅳ sql编码为latin1,中文内容全部显示问号,怎么设置
第一种的代码,你可以参考一下:
以下的我找的其中一篇,备份后数据库是空的!
/**
* @param args
*/
public static void
main(String[] args) {
/*
* 备份和导入是一个互逆的过程。
*
备份:程序调用mysql的备份命令,读出控制台输入流信息,写入.sql文件;
*
导入:程序调用mysql的导入命令,把从.sql文件中读出的信息写入控制台的输出流
* 注意:此时定向符">"和"<"是不能用的
*/
backup();
load();
}
/**
*
备份检验一个sql文件是否可以做导入文件用的一个判断方法:把该sql文件分别用记事本和ultra
*
edit打开,如果看到的中文均正常没有乱码,则可以用来做导入的源文件(不管sql文件的编码格式如何,也不管db的编码格式如何)
*/
public static void backup() {
try {
Runtime rt =
Runtime.getRuntime();
// 调用 mysql 的 cmd:
Process child = rt
.exec("mysqlmp -u root --set-charset=utf8 bjse act_obj");//
设置导出编码为utf8。这里必须是utf8
//
把进程执行中的控制台输出信息写入.sql文件,即生成了备份文件。注:如果不对控制台信息进行读出,则会导致进程堵塞无法运行
InputStream in
= child.getInputStream();// 控制台的输出信息作为输入流
InputStreamReader xx =
new InputStreamReader(in, "utf8");// 设置输出流编码为utf8。这里必须是utf8,否则从流中读入的是乱码
String inStr;
StringBuffer sb = new StringBuffer("");
String
outStr;
// 组合控制台输出信息字符串
BufferedReader br = new
BufferedReader(xx);
while ((inStr = br.readLine()) != null) {
sb.append(inStr + "\r\n");
}
outStr = sb.toString();
//
要用来做导入用的sql目标文件:
FileOutputStream fout = new FileOutputStream(
"e:/mysql-5.0.27-win32/bin/bjse22.sql");
OutputStreamWriter writer = new
OutputStreamWriter(fout, "utf8");
writer.write(outStr);
//
注:这里如果用缓冲方式写入文件的话,会导致中文乱码,用flush()方法则可以避免
writer.flush();
//
别忘记关闭输入输出流
in.close();
xx.close();
br.close();
writer.close();
fout.close();
System.out.println("/* Output OK!
*/");
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 导入
*
*/
public static void load() {
try {
String fPath = "e:/mysql-5.0.27-win32/bin/bjse22.sql";
Runtime
rt = Runtime.getRuntime();
// 调用 mysql 的 cmd:
Process child =
rt.exec("mysql -u root bjse ");
OutputStream out =
child.getOutputStream();//控制台的输入信息作为输出流
String inStr;
StringBuffer sb
= new StringBuffer("");
String outStr;
BufferedReader br = new
BufferedReader(new InputStreamReader(
new FileInputStream(fPath),
"utf8"));
while ((inStr = br.readLine()) != null) {
sb.append(inStr +
"\r\n");
}
outStr = sb.toString();
OutputStreamWriter writer
= new OutputStreamWriter(out, "utf8");
writer.write(outStr);
//
注:这里如果用缓冲方式写入文件的话,会导致中文乱码,用flush()方法则可以避免
Ⅵ sql文件导入后,中文变乱码,怎样解决
解决的方法和详细的操作步骤如下:
1、首先,单击“Objects”按钮以查看有关此表的详细信息,如下图所示,然后进入下一步。