举例详解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数据了。

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Cara menggunakan PHP untuk mencipta dan mengurus jadual pangkalan data Dengan perkembangan pesat Internet, pangkalan data telah menjadi bahagian yang amat diperlukan dalam pelbagai laman web dan aplikasi. Dalam PHP, kita boleh menggunakan sistem pengurusan pangkalan data (DBMS) seperti MySQL untuk mencipta dan mengurus jadual pangkalan data. Artikel ini akan mengajar anda cara menggunakan PHP untuk melaksanakan fungsi ini, dengan contoh kod yang sepadan. Sambung ke pangkalan data Pertama, kita perlu menyambung ke pangkalan data dalam PHP. Anda boleh menggunakan sambungan mysqli atau PDO yang disediakan oleh PHP untuk mencapai fungsi ini.

Perbezaan antara paparan pangkalan data dan jadual ialah: 1. Jadual ialah struktur fizikal yang digunakan untuk menyimpan data dalam pangkalan data, manakala paparan hanyalah set hasil pertanyaan berdasarkan jadual atau berbilang jadual; unit data, dan pandangan hanya menyediakan Peraturan untuk melihat dan mengendalikan data jadual 3. Paparan menyediakan mekanisme keselamatan lanjutan untuk pangkalan data, dan jadual tidak mempunyai mekanisme keselamatan 4. Paparan adalah abstraksi jadual; jadual dalam pertanyaan, dan jadual hanya boleh menanyakan satu jadual;

Paparan dan jadual pangkalan data ialah dua konsep berbeza dalam pangkalan data, dengan ciri dan kegunaan berbeza Jadual ialah entiti yang sebenarnya menyimpan data dalam pangkalan data, manakala paparan ialah jadual maya yang diperoleh daripada satu atau lebih jadual, digunakan untuk menentukan cara untuk. mempersembahkan dan memanipulasi data. Jadual mempunyai ketekalan data yang lebih tinggi, manakala paparan menyediakan akses data yang lebih fleksibel dan mudah.

NEARProtocol: Platform blockchain yang boleh skala dan mesra pengguna NEARProtocol ialah platform blockchain yang menggunakan teknologi sharding yang direka untuk menangani cabaran yang dihadapi oleh teknologi blockchain dari segi kebolehskalaan, kemesraan pengguna dan keselamatan. Ia menyediakan pemaju dengan platform yang cekap dan mesra pengguna yang membolehkan mereka membina dan menggunakan aplikasi terdesentralisasi (dApps) dengan mudah. NEARProtocol direka untuk mengurangkan halangan kepada pembangunan blokchain sambil menyediakan tahap kecekapan dan keselamatan yang tinggi. Dengan mengguna pakai teknologi sharding, NEARProtocol boleh mengendalikan transaksi berskala besar dengan lebih baik dan menyediakan masa pengesahan transaksi yang lebih pantas kepada pengguna. Secara keseluruhan, NEARProtocol direka untuk menyediakan

Terdapat lima perbezaan antara paparan pangkalan data dan jadual dalam pangkalan data: 1. Paparan tidak menyimpan data, tetapi jadual adalah objek yang sebenarnya menyimpan data 2. Data dalam paparan adalah jadual maya, dan data dalam jadual boleh datang daripada pelbagai sumber; kebenaran jadual asas, dan jadual mempunyai kebenaran aksesnya sendiri.

Seperti yang dinyatakan dalam artikel pertama dalam siri ini, salah satu masalah utama dengan jadual pangkalan data tersuai ialah ia tidak dikendalikan oleh pengendali import dan eksport sedia ada. Artikel ini bertujuan untuk menangani masalah ini, tetapi perlu diingatkan bahawa pada masa ini tiada penyelesaian yang memuaskan sepenuhnya. Mari kita pertimbangkan dua senario: Jadual tersuai merujuk jadual WordPress asli Jadual tersuai sepenuhnya bebas daripada jadual asli "Kes terburuk" ialah kes pertama. Ambil jadual tersuai yang menyimpan log aktiviti pengguna sebagai contoh. Ia merujuk ID pengguna, ID objek dan jenis objek - yang kesemuanya merujuk data yang disimpan dalam jadual WordPress asli. Sekarang bayangkan seseorang ingin mengimport semua data dari laman web WordPress mereka ke laman web kedua. Sebagai contoh, sepenuhnya

Berapa banyak pin kabel papan induk Antec 650w Kabel kuasa papan induk bekalan kuasa Antec 650W biasanya 24 pin, yang merupakan antara muka kuasa terbesar pada papan induk. Fungsinya adalah untuk menyambungkan papan induk dan bekalan kuasa untuk membekalkan kuasa kepada papan induk dan komponen sistem yang lain. Selain itu, bekalan kuasa Antec 650W juga mungkin termasuk jenis antara muka kuasa lain, seperti CPU8pin, PCIe6+2pin, dsb., untuk menyambungkan komponen lain seperti CPU dan kad grafik bebas. Tutorial penghalaan papan induk Penghalaan papan induk ialah proses penyambungan litar antara pelbagai komponen elektronik semasa mereka bentuk papan induk. Dalam proses ini, faktor seperti kestabilan litar, kelajuan penghantaran isyarat dan ketepatan perlu dipertimbangkan. Apabila penghalaan pendawaian mengikut rajah litar, beri perhatian kepada susun atur dan pilih lebar dan jarak talian yang sesuai untuk mengelakkan

PHP dan PDO: Cara melakukan pengubahsuaian dan menamakan semula jadual pangkalan data Apabila aplikasi berkembang dan keperluan berubah, kita sering perlu mengubah suai dan menamakan semula jadual dalam pangkalan data. Dalam PHP, kita boleh menggunakan perpustakaan sambungan PDO (PHPDataObjects) untuk melaksanakan operasi ini. Artikel ini akan memperkenalkan cara menggunakan PDO untuk melakukan pengubahsuaian dan penamaan semula jadual pangkalan data, dan menyediakan contoh kod. Pertama, kita perlu memastikan kita telah berjaya menyambung ke pangkalan data. Andaikan bahawa kami telah mewujudkan sambungan dengan pangkalan data menggunakan PDO
