举例详解MySQL字符集_MySQL
举例详解MySQL字符集,下面是完整的一个例子:
1、创建数据库表
MySQL>CREATE DATABASE IF NOT EXISTS my_db default charset utf8 COLLATE utf8_general_ci;
#注意后面这句话 "COLLATE utf8_general_ci",大致意思是在排序时根据utf8校验集来排序
#那么在这个数据库下创建的所有数据表的默认字符集都会是utf8了
MySQL>create table my_table (name varchar(20) not null default '')type=myisam default charset utf8;
#这句话就是创建一个表了,制定默认字符集为utf8
2、写数据
例子1是通过PHP直接插入数据:
a.PHPMySQL_connect('localhost','user','password');mysql_select_db('my_db');//请注意,这步很关键,如果没有这步,所有的数据读写都会不正确的//它的作用是设置本次数据库联接过程中,数据传输的默认字符集//其他编程语言/接口也类似,例如 .net/c#/odbc//jdbc则设置连接字符串为类似"jdbc:mysql://localhost/db?user=user&password=123456&useUnicode=true&characterEncoding=UTF-8"mysql_query("set names utf8;");//必须将gb2312(本地编码)转换成utf-8,也可以使用iconv()函数mb_convert_encoding("insert into my_table values('测试');", "utf-8", "gb2312");?>b.php//输出本页编码为utf-8header("content-type:text/HTML; charset=utf-8");mysql_connect('localhost','user','password');mysql_select_db('my_db');mysql_query("set names utf8;");if(isset($_REQUEST['name')){//由于上面已经指定本页字符集为utf-8了,因此无需转换编码mysql_query(sprintf("insert into my_table values('%s');", $_REQUEST['name']));}$q = mysql_query("select * from my_table");while($r = mysql_fetch_row($q)){print_r($r);}?>
自此,使用utf8字符集的完整的例子结束了.
如果你想使用gb2312编码,那么建议你使用latin1作为数据表的默认字符集,这样就能直接用中文在命令行工具中插入数据,并且可以直接显示出来.而不要使用gb2312或者gbk等字符集,如果担心查询排序等问题,可以使用binary属性约束,例如:
create table my_table ( name varchar(20) binary not null default '')type=myisam default charset latin1;
附1:旧数据升级办法
以原来的字符集为latin1为例,升级成为utf8的字符集。原来的表: old_table (default charset=latin1),新表:new_table(default charset=utf8)。
第一步:导出旧数据
MySQLdump --default-character-set=latin1 -hlocalhost -uroot -B my_db --tables old_table > old.sql
第二步:转换编码(类似Unix/Linux环境下)
iconv -t utf-8 -f gb2312 -c old.sql > new.sql
或者可以去掉 -f 参数,让iconv自动判断原来的字符集
iconv -t utf-8 -c old.sql > new.sql
在这里,假定原来的数据默认是gb2312编码。
第三步:导入
修改old.sql,在插入/更新语句开始之前,增加一条sql语句:
"SET NAMES utf8;"
,保存。
MySQL -hlocalhost -uroot my_db
大功告成!!
附2:支持查看utf8字符集的MySQL客户端有
1.) MySQL-Front,据说这个项目已经被MySQL AB勒令停止了,不知为何,如果国内还有不少破解版可以下载(不代表我推荐使用破解版 :-P)。
2.) Navicat,另一款非常不错的MySQL客户端,汉化版刚出来,还邀请我试用过,总的来说还是不错的,不过也需要付费。
3.) PHPMyAdmin,开源的php项目,非常好。
4.) Linux下的终端工具(Linux terminal),把终端的字符集设置为utf8,连接到MySQL之后,执行 SET NAMES UTF8; 也能读写utf8数据了。

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

資料庫視圖和表格是資料庫中的兩個不同的概念,有著不同的功能和用途,表是資料庫中真正儲存資料的實體,而視圖是從一個或多個表中導出的虛擬表,用於以特定的方式呈現和操作數據。表格具有更高的資料持久性,而視圖則提供了更靈活和便捷的資料存取方式。

NEARProtocol:可擴展、用戶友好的區塊鏈平台NEARProtocol是一個採用分片技術的區塊鏈平台,旨在應對區塊鏈技術在可擴展性、用戶友好性和安全性方面面臨的挑戰。它為開發者提供了一個高效和用戶友好的平台,使他們能夠輕鬆建立和部署去中心化應用程式(dApps)。 NEARProtocol的設計旨在降低區塊鏈開發的門檻,同時提供高度的效率和安全性。透過採用分片技術,NEARProtocol可以更好地處理大規模交易,並且為用戶提供更快速的交易確認時間。總的來說,NEARProtocol旨在為

如何使用PHP創建和管理資料庫表隨著互聯網的迅速發展,資料庫成為了各種網站和應用程式不可或缺的組成部分。在PHP中,我們可以利用資料庫管理系統(DBMS)如MySQL來建立和管理資料庫表。本文將教你如何使用PHP來實現這項功能,並附上對應的程式碼範例。連接資料庫首先,我們需要在PHP中連接到資料庫。可以使用PHP提供的mysqli擴充或PDO來實現這項功能。

資料庫檢視和表格的差異有:1、表格是資料庫中用來儲存資料的實體結構,而檢視只是基於資料表或多個資料表的查詢結果集;2、資料表是資料的實體儲存單元,檢視只是提供了查看和操作表資料的規則;3、視圖為資料庫提供進階的安全機制,表沒有安全機制;4、視圖是表的抽象;5、視圖可查詢中組合多個表,表只能查詢單一表; 6.表格是資料庫中的永久性結構,視圖不是;7、視圖可建立相同名稱的視圖,表格不能建立同名表格等等。

資料庫視圖和表在資料庫中有以下5點區別:1、視圖不儲存數據,而表是實際儲存資料的物件;2、視圖的資料是一個虛擬表,而表中的資料可以來自多個來源; 3.視圖繼承查詢語句的結構,而表格具有自己的結構定義;4、視圖不可更新,而表允許直接對其進行操作;5、視圖基於底層表的權限,而表具有自己的存取權限。

安鈦克650w主機板線是幾pin的安鈦克650W電源主機板的電源線通常是24pin的,這是主機板上最大的電源介面。它的作用是連接主機板和電源,為主機板和其他系統組件提供電源。此外,安鈦克650W電源還可能包含其他類型的電源接口,如CPU8pin、PCIe6+2pin等,用於連接CPU和獨立顯示卡等其他組件。主機板走線教學主機板走線是指在設計主機板時,將各個電子元件之間的電路連接起來的過程。在這個過程中,需要考慮電路的穩定性、訊號傳輸的速度和準確性等因素。根據電路圖進行走線時,需注意佈局和選擇適當的線寬和距離,避免

MySQL連線問題之如何優化資料庫表結構?在開發應用程式時,資料庫連接是非常重要的一部分。當我們在使用MySQL資料庫時,正確優化資料庫表結構可以提高查詢和連接效能,從而提升應用程式的效能和回應速度。本文將介紹一些最佳化資料庫表結構的方法,以解決MySQL連線問題。一、合理設計表結構在設計資料庫表結構時,需要根據應用程式的需求,合理地設計表之間的關係,減少數據

如本系列的第一篇文章中所提到的,自訂資料庫表的主要問題之一是它們不由現有的匯入和匯出處理程序處理。本文旨在解決這個問題,但應該指出的是,目前還沒有完全令人滿意的解決方案。讓我們考慮兩種情況:自訂表格引用本機WordPress表格自訂表格完全獨立於原生表格「最壞情況」是第一種情況。以保存使用者活動日誌的自訂表為例。它引用使用者ID、物件ID和物件類型-所有這些都引用儲存在本機WordPress表中的資料。現在想像一下,有人想要將其WordPress網站中的所有資料匯入到第二個網站中。例如,完全
