㈠ 創建資料庫時旁邊的「整理」選項選什麼
utf-8 代表的是字元編碼規范
一個位元組佔8位二進制 如10000000 8位二進制可以表示2的8次方種不同的 寫法 如00000000,00000001...... 如果做一個映射 每一個寫法代表一個有意義的字元如a ,B等等
如果世界上只有一種語言就是英語 那麼所有的英文字母 總共有 52 個 (a-z 和A-Z) ,那麼我用6位二進制數即可一一映射完,因為6位二進制可以表示64種不同的寫法。
但是世界上不同的國家有自己的語言,比如中國的漢字有幾千個 ,那麼6位的二進制就無法滿足要求就必須要擴大 二進制位數。 由於計算機基本空間單位用位元組表示,一個位元組有8位二進制數。所以一個位元組可以表示256種不同的文字。為了滿足全世界所有的文字,那麼經過計算4個位元組可以包含完全,4個位元組有32位 ,可以表示2的32次方個不同的文字。
utf-8是一種針對Unicode的可變長度字元編碼,UTF-8用1到4個位元組編碼UNICODE字元,所以utf-8可以編碼所有的語言文字
utf-8我看說明是多國語言,那不選這個就無法顯示外國語言只能顯示中文?
多國語言 代表utf-8為多國的文字都提供了一種編碼規則(可以簡單理解為映射規則,如00000000 代表 0 ,000000001000010 代表 國 等等),所以他能顯示所有多個國家的文字
還有基本每個國家 自己也有一套編碼規則 如 中國的編碼規則 就是GBK ,UTF-8可以看成是全球統一的編碼規范
㈡ mysql 創建資料庫 utf-8 哪個好
檢查當前資料庫編碼。
使用語句:
show variables like 『%character%』;
show variables like』%collation%』;
如果不是以上情況,需要將mysql編碼設置為utf-8。具體步驟如下:
如果安裝mysql時安裝了「MySql Sever Instance Configuration Wizard」,則只需要啟動該程序進行相應設置即可。如下面截圖中所描述,需要將默認編碼設置為utf8
如果沒有該程序,需要手動修改mysql編碼。
1、 編輯MySql的配置文件
MySql的配置文件Windows下一般在系統目錄下或者在MySql的安裝目錄下名字叫my.ini,可以搜索,Linux下一般是 /etc/my.cnf
--在 [mysqld] 標簽下加上以下內容:
default-character-set = utf8
character_set_server = utf8
注意:如果此標簽下已經存在「default-character-set=GBK」類似的內容,只需修改即可。
--在 [mysql] 標簽下加上一行
default-character-set = utf8
--在 [mysql.server]標簽下加上一行
default-character-set = utf8
--在 [mysqld_safe]標簽下加上一行
default-character-set = utf8
--在 [client]標簽下加上一行
default-character-set = utf8
2、 重新啟動MySql服務
Windows可在服務管理器中操作,也可使用命令行:
net stop mysql 回車
net start mysql 回車
服務名可能不一定為mysql,請按自己的設置
Linux下面可是用 service mysql restart
如果出現啟動失敗,請檢查配置文件有沒有設置錯誤
3、 查看設置結果
登錄MySql命令行客戶端:打開命令行
mysql –uroot –p 回車
輸入密碼
進入mysql後 執行 :show variables like "% character %";
另外:
建立資料庫時可以使用以下命令:
create database app_relation character set utf8;
use app_relation;
source app_relation.sql;
修改資料庫編碼的命令為:
alter database app_relation character set utf8;
㈢ 如何設置mysql資料庫為utf-8編碼
1、安裝資料庫的時候,指定好編碼,UTF-8
MySql的配置文件Windows下一般在系統目錄下或者在MySql的安裝目錄下名字叫my.ini,可以搜索,Linux下一般是/etc/my.cnf
--在 [mysqld] 標簽下加上以下內容:
default-character-set = utf8
character_set_server = utf8
2、創建資料庫的時候,指定同樣的編碼
創建的時候,拉下字元集選擇,選擇utf8
最好上面2步,以後亂碼問題離你又遠了一步
海楓科技
㈣ 怎麼將資料庫編碼選擇為 utf-8
轉給你一段。你試下吧。 這個要用到Access-to-MySQL Pro 這個軟體。網上有下載,並且有破解版的。問題是如果直接用它來把ACCESS文件導入MYSQL會出現亂碼。所以我試下以下方法,雖然麻煩點,但是還可是可行。5.1用Access-to-MySQL Pro來把資料庫導出為*.sql 文件。A) 運行Access-to-MySQL Pro的時候選ADVANCEMODE,下一步;B) 選擇STOREinto mp file,就是保存為*.sql文件,下一步;C) 選擇目標MYSQL的版本,選默認值,下一步;D) 這下要選MS ACCESS USER-LEVElL SECURITY FILE,這個文件一般在你的OFFICE安裝目錄下。我的是在G:\Program Files\Microsoft Office\Office\SYSTEM.MDW,用戶名填ADMIN,下一步;E) 選擇你要轉換的ACCESSMDB文件以及保存路徑,點下一步,就可以生成.sql 文件了。我生成的是C:\test.sql。5.2把剛才生成的文件轉成UTF-8格式。用記事本打開這個文件,選另存為,編碼選UTF-8,覆蓋保存就OK了。5.3在MYSQL導入該文件我不在phpMyAdmin導入文件是因為phpMyAdmin默認只能導入17M的文件。懶得改相應的設置,MYSQL命令行方便些。進入DOS窗口,轉到MYSQL安裝目錄的BIN子目錄下。我這里是G:\Program Files\xapp\xampp\mysql\bin.A)mysql -uroot -ppassword:這里輸入密碼B)CREATE DATABASE hewang;C)use hewang;E)source c:\test.sql;有可能會出現錯誤提示音,不管他,等它再次出現提示符的時候,導入成功。我用這種方法導入一個50M的文件沒有問題,只是提示音響了十分鍾。可以在phpMyAdmin下查看數據是否正確,如果沒有亂碼就OK了。
㈤ 我在創建資料庫使用編碼格式為utf8,而且myeclipse也用的是utf8格式,但是我向資料庫存儲數據時竟然還是問
mysql?如果是mysql的話,建議使用mysql5版本,然後安裝好之後,開始菜單---mysql--MySql server 5.0---MySQL Server Instance Config Wizard打開這個界面後前幾步一般都默認即可,然後到後面有一步,讓你選擇資料庫字元集編碼,你選擇utf8編碼,然後下一步下一步保存結束即可。
然後程序里連接資料庫的字元串都不需要額外寫任何設置編碼的代碼,建表,建資料庫也一樣,都不需要再設置編碼了。
java連接mysql的字元串:jdbc:mysql://localhost:3306/資料庫名
無需像一樓那樣連接資料庫的字元串後面再加設置編碼
㈥ mysql創建資料庫命令 utf8
CREATE DATABASE hello_world CHARACTER SET utf8 COLLATE utf8_general_ci;
㈦ php創建mysql數據表,怎麼選擇UTF8字元集
一、轉碼失敗
在數據寫入到表的過程中轉碼失敗,資料庫端也沒有進行恰當的處理,導致存放在表裡的數據亂碼。
針對這種情況,前幾篇文章介紹過客戶端發送請求到服務端。
其中任意一個編碼不一致,都會導致表裡的數據存入不正確的編碼而產生亂碼。
比如下面簡單一條語句:
set @a = "文本字元串";
insert into t1 values(@a);
變數 @a 的字元編碼是由參數 CHARACTER_SET_CLIENT 決定的,假設此時編碼為 A,也就是變數 @a 的編碼。
2. 寫入語句在發送到 MySQL 服務端之前的編碼由 CHARACTER_SET_CONNECTION 決定,假設此時編碼為 B。
3. 經過 MySQL 一系列詞法,語法解析等處理後,寫入到表 t1,表 t1 的編碼為 C。
那這里編碼 A、編碼 B、編碼 C 如果不兼容,寫入的數據就直接亂碼。
二、客戶端亂碼
表數據正常,但是客戶端展示後出現亂碼。
這一類場景,指的是從 MySQL 表裡拿數據出來返回到客戶端,MySQL 里的數據本身沒有問題。客戶端發送請求到 MySQL,表的編碼為 D,從 MySQL 拿到記錄結果傳輸到客戶端,此時記錄編碼為 E(CHARACTER_SET_RESULTS)。
那以上編碼 E 和 D 如果不兼容,檢索出來的數據就看起來亂碼了。但是由於數據本身沒有被破壞,所以換個兼容的編碼就可以獲取正確的結果。
這一類又分為以下三個不同的小類:
1)欄位編碼和表一致,客戶端是不同的編碼
比如下面例子, 表數據的編碼是 utf8mb4,而 SESSION 1 發起的連接編碼為 gbk。那由於編碼不兼容,檢索出來的數據肯定為亂碼。
2)表編碼和客戶端的編碼一致,但是記錄之間編碼存在不一致的情形
比如表編碼是 utf8mb4,應用端編碼也是 utf8mb4,但是表裡的數據可能一半編碼是 utf8mb4,另外一半是 gbk。那麼此時表的數據也是正常的,不過此時採用哪種編碼都讀不到所有完整的數據。這樣數據產生的原因很多,比如其中一種可能性就是表編碼多次變更而且每次變更不徹底導致(變更不徹底,我之前的篇章里有介紹)。舉個例子,表 t3 的編碼之前是 utf8mb4,現在是 gbk,而且兩次編碼期間都被寫入了正常的數據。
3)每個欄位的編碼不一致,導致亂碼和第二點一樣的場景。不同的是:非記錄間的編碼不統一,而是每個欄位編碼不統一。舉個例子,表 c1 欄位 a1,a2。a1 編碼 gbk,a2 編碼是 utf8mb4。那每個欄位單獨讀出來數據是完整的,但是所有欄位一起讀出來,數據總會有一部分亂碼。
三、LATIN1
還有一種情形就是以 LATIN1 的編碼存儲數據
估計大家都知道字元集 LATIN1,LATIN1 對所有字元都是單位元組流處理,遇到不能處理的位元組流,保持原樣,那麼在以上兩種存入和檢索的過程中都能保證數據一致,所以 MySQL 長期以來默認的編碼都是 LATIN1。這種情形,看起來也沒啥不對的點,數據也沒亂碼,那為什麼還有選用其他的編碼呢?原因就是對字元存儲的位元組數不一樣,比如 emoji 字元 "❤",如果用 utf8mb4 存儲,佔用 3 個位元組,那 varchar(12) 就能存放 12 個字元,但是換成 LATIN1,只能存 4 個字元。
㈧ 新建的資料庫編碼要設置為utf-8怎麼設置
phpmyadmin 創建資料庫的默認編碼是:latin1_swedish_ci
修改默認編碼的方法是
1.登錄phpmyadmin
2.在導航部分點:變數
3.Ctrl+F 查找:latin1_swedish_ci
4.把所有的帶有latin1_swedish_ci 修改為 想要的編碼,設置為:utf8_general_ci
5.然後可以在sql命令控制台輸入 :show variables like '%char%';
㈨ mysql資料庫字元集選擇,utf8還是utf8mb4更好
這要看你自己了,為了節省空間,一般情況下使用utf8也就夠了,
為了兼容性更好點就用utf8mb4了;
utf8mb4編碼專門用來兼容四位元組的unicode。utf8mb4是utf8的超集,除了將編碼改為utf8mb4外不需要做其他轉換。