當前位置:首頁 » 操作系統 » mysql創建資料庫utf8

mysql創建資料庫utf8

發布時間: 2022-08-25 08:21:38

㈠ 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 建資料庫用什麼字元集

mysql創建資料庫一般使用的字元集為UTF-8,但具體的要根據實際情況進行選擇。

工具:mysql5.6,Navicat Premium

步驟:

1、打開Navicat Premium,雙擊左側伺服器的樹形結構,連接到伺服器,這里以localhost為例。

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 個字元。

㈣ MYSQL資料庫使用UTF-8中文編碼亂碼的解決辦法

1.用phpmyadmin創建資料庫和數據表
創建資料庫的時候,請將「整理」設置為:「utf8_general_ci」
或執行語句:
復制代碼
代碼如下:CREATE
DATABASE
`dbname`
DEFAULT
CHARACTER
SET
utf8
COLLATE
utf8_general_ci;
創建數據表的時候:如果是該欄位是存放中文的話,則需要將「整理」設置為:「utf8_general_ci」,
如果該欄位是存放英文或數字的話,默認就可以了。
相應的SQL語句,例如:
CREATE
TABLE
`test`
(
`id`
INT
NOT
NULL
,
`name`
VARCHAR(
10
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NOT
NULL
,
PRIMARY
KEY
(
`id`
)
)
ENGINE
=
MYISAM
;
2.用PHP讀寫資料庫
在連接資料庫之後:
復制代碼
代碼如下:$connection
=
mysql_connect($host_name,
$host_user,
$host_pass);
加入兩行:
mysql_query("set
character
set
'utf8'");//讀庫
mysql_query("set
names
'utf8'");//寫庫
就可以正常的讀寫MYSQL資料庫了。
用的appserv-win32-2.5.10做的環境,裝這個包的時候用默認的utf8編碼。
在寫資料庫連接文件時,寫成:
$conn
=
mysql_connect("$host","$user","$password");
mysql_query("SET
NAMES
'UTF8'");
mysql_select_db("$database",$conn);
然後在做頁面時,注意這句:
復制代碼
代碼如下:<meta
http-equiv="Content-Type"
content="text/html;
charset=utf-8"
/>
這樣不管輸入資料庫的中文,還是頁面顯示,就都正常了。
在DW
CS4版里,默認生成的也是utf8頁面。
同樣的,如果一開始寫資料庫連接文件時寫成:
mysql_query("SET
NAMES
'GBK'");
那頁面也要相應變成:
復制代碼
代碼如下:<meta
http-equiv="Content-Type"
content="text/html;
charset=gb2312"
/>
總結,最後主要是頁面編碼要統一就可以很方便的解決亂碼問題,特別是在mysql_query()這個set
names的設置必須和頁面及資料庫編碼統計一就可以了。
希望這兩篇關於UTF-8中文編碼亂碼的文章,能夠更好地幫助大家解決這類問題,希望大家喜歡。

㈤ 如何更改MySQL資料庫編碼為UTF-8或者GB2312

mysql 創建 資料庫時指定編碼很重要,很多開發者都使用了默認編碼,亂碼問題可是防不勝防。制定資料庫的編碼可以很大程度上避免倒入導出帶來的亂碼問題。

網頁數據一般採用UTF8編碼,而資料庫默認為latin 。我們可以通過修改資料庫默認編碼方式為UTF8來減少資料庫創建時的設置,也能最大限度的避免因粗心造成的亂碼問題。

我們遵循的標準是,資料庫,表,欄位和頁面或文本的編碼要統一起來

我們可以通過命令查看資料庫當前編碼:

mysql> SHOW VARIABLES LIKE 'character%';

發現很多對應的都是latin1,我們的目標就是在下次使用此命令時latin1能被UTF8取代。

第一階段:

mysql設置編碼命令

[sql]view plain

  • SETcharacter_set_client=utf8;

  • SETcharacter_set_connection=utf8;

  • SETcharacter_set_database=utf8;

  • SETcharacter_set_results=utf8;

  • SETcharacter_set_server=utf8;

  • 然後mysql> SHOW VARIABLES LIKE 'character%';你可以看到全變為utf8
  • mysql> SHOW VARIABLES LIKE 'character%';

    +--------------------------+---------------------------------------------------------+

    | Variable_name | Value |

    +--------------------------+---------------------------------------------------------+

    | character_set_client | utf8 |

    | character_set_connection | utf8 |

    | character_set_database | utf8 |

    | character_set_filesystem | binary |

    | character_set_results | utf8 |

    | character_set_server | utf8 |

    | character_set_system | utf8 |

    | character_sets_dir | C:Program FilesMySQLMySQL Server 5.0sharecharsets |

    +--------------------------+---------------------------------------------------------+

    8 rows in set

㈥ linux mysql 創建資料庫 並且指定編碼

1、首先在linux終端窗口處輸入mysql -u root -p 命令,然後輸入root帳戶密碼連接sql資料庫。

㈦ mysql建表的時候設置表裡面的欄位的字元集是utf-8要怎麼設置默認建好後我去mysql里看字元集都是gbk

1、建表時指定字元集utf-8:

CREATE TABLE表名

( `id` TINYINT( 255 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`content` VARCHAR( 255 ) NOT NULL)

DEFAULT CHARACTER SET = utf8;

2、修改表的字元集為utf-8:

alter table 表名 convert to character set utf8;

(7)mysql創建資料庫utf8擴展閱讀:

1、創建資料庫時設置字元集:

CREATE DATABASE資料庫名 CHARACTER SET utf8 COLLATE utf8_general_ci;

注意後面三個單詞之間是有下劃線的對於每個選項所給定的值,前面沒有等號;在第一個選項和第二個選項之間也沒有逗號。

2、修改資料庫的字元集:

alter database資料庫名 character set utf8;

3、顯示某資料庫字元集設置:

show create database 資料庫名;

4、顯示某數據表字元集設置:

show create table 表名;

5、修改欄位:

alter table 表名 modify column '欄位名' varchar(30) character set utf8 not null;

6、添加表欄位:

alter table 表名 add column '欄位名' varchar (20) character set utf8;

㈧ 怎樣在mysql中新建表utf8格式

MYSQL創建utf-8格式的資料庫方法:

先mysql進入;

Linux代碼 ;

GBK: create database test2 DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;

UTF8: CREATE DATABASE `test2` DEFAULT CHARACTER SET utf8 COLLATE ;utf8_general_ci;

eg;

Linux代碼 www.2cto.com ;

[root@linuxtest test]# mysql -u root -p ;

Enter password;

Welcome to the MySQL monitor. Commands end with ; or g;

Your MySQL connection id is 5;

Server version: 5.1.30-community MySQL Community Server (GPL) ;

Type 'help;' or 'h' for help. Type 'c' to clear the buffer;

mysql> CREATE DATABASE `test` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

Query OK, 1 row affected (0.06 sec) ;

mysql> show databases;

+--------------------+ ;

| Database | ;

+--------------------+ ;

| information_schema | ;

| cacti | ;

| mysql | ;

| test | | ;

+--------------------+ ;

5 rows in set (0.07 sec) ;

這個test庫就是utf-8格式的 。

熱點內容
什麼叫蘋果版的和安卓版的手機 發布:2025-05-15 21:05:18 瀏覽:252
編程找點 發布:2025-05-15 20:43:10 瀏覽:587
php上傳臨時文件夾 發布:2025-05-15 20:43:00 瀏覽:657
impala資料庫 發布:2025-05-15 20:42:12 瀏覽:649
android安裝插件 發布:2025-05-15 20:41:31 瀏覽:241
神秘顧客訪問 發布:2025-05-15 20:33:39 瀏覽:298
安卓市場手機版從哪裡下載 發布:2025-05-15 20:17:28 瀏覽:815
幼兒速演算法 發布:2025-05-15 20:15:08 瀏覽:87
best把槍密碼多少 發布:2025-05-15 20:13:42 瀏覽:549
android安裝程序 發布:2025-05-15 20:13:20 瀏覽:560