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」按鈕以查看有關此表的詳細信息,如下圖所示,然後進入下一步。