举例详解MySQL字符集_MySQL

Jun 01, 2016 pm 01:56 PM
データベーステーブル はい

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

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHP を使用してデータベーステーブルを作成および管理する方法 PHP を使用してデータベーステーブルを作成および管理する方法 Sep 09, 2023 pm 04:48 PM

PHP を使用してデータベース テーブルを作成および管理する方法 インターネットの急速な発展に伴い、データベースはさまざまな Web サイトやアプリケーションに不可欠な部分になりました。 PHP では、MySQL などのデータベース管理システム (DBMS) を使用してデータベース テーブルを作成および管理できます。この記事では、PHP を使用してこの関数を実装する方法と、対応するコード例を説明します。データベースに接続する まず、PHP でデータベースに接続する必要があります。この機能を実現するには、mysqli 拡張機能または PHP によって提供される PDO を使用できます。

データベースビューとテーブルの違いは何ですか? データベースビューとテーブルの違いは何ですか? Sep 04, 2023 pm 03:13 PM

データベース ビューとテーブルの違いは次のとおりです: 1. テーブルはデータベースにデータを格納するために使用される物理構造ですが、ビューは 1 つまたは複数のテーブルに基づく単なるクエリ結果セットです; 2. テーブルは物理的なストレージですビューはデータの単位であり、ビューはテーブル データの表示と操作のためのルールのみを提供します; 3. ビューはデータベースに高度なセキュリティ メカニズムを提供しますが、テーブルにはセキュリティ メカニズムはありません; 4. ビューはテーブルの抽象化です; 5. ビューは複数を組み合わせることができますクエリ内のテーブル、およびテーブルは単一のテーブルのみをクエリできる; 6. テーブルはデータベース内の永続的な構造ですが、ビューはそうではありません; 7. ビューは同じ名前のビューを作成できますが、テーブルは同じ名前のテーブルを作成できません。

データベースのビューとテーブルを区別する方法 データベースのビューとテーブルを区別する方法 Aug 22, 2023 am 11:27 AM

データベース ビューとテーブルは、データベースにおける 2 つの異なる概念であり、特性と用途が異なります。テーブルは実際にデータベースにデータを格納するエンティティであり、ビューは 1 つ以上のテーブルから派生した仮想テーブルであり、データの保存方法を指定するために使用されます。データを提示して操作します。テーブルはデータの永続性が高く、ビューはより柔軟で便利なデータ アクセスを提供します。

NEARプロトコルコインとは何ですか? NEARプロトコルコインの特徴は何ですか? NEARプロトコルコインとは何ですか? NEARプロトコルコインの特徴は何ですか? Mar 04, 2024 pm 11:20 PM

NEARProtocol: スケーラブルで使いやすいブロックチェーン プラットフォーム NEARProtocol は、スケーラビリティ、使いやすさ、セキュリティの点でブロックチェーン テクノロジーが直面する課題に対処するように設計されたシャーディング テクノロジーを使用したブロックチェーン プラットフォームです。開発者に、分散型アプリケーション (dApps) を簡単に構築および展開できる、効率的でユーザーフレンドリーなプラットフォームを提供します。 NEARProtocol は、高度な効率とセキュリティを提供しながら、ブロックチェーン開発の障壁を下げるように設計されています。シャーディング テクノロジーを採用することで、NEARProtocol は大規模なトランザクションをより適切に処理し、ユーザーにトランザクション確認時間を短縮することができます。全体として、NEARProtocol は以下を提供するように設計されています。

データベースビューとテーブルの違いは何ですか? データベースビューとテーブルの違いは何ですか? Aug 22, 2023 am 11:15 AM

データベース ビューとデータベース内のテーブルには 5 つの違いがあります: 1. ビューはデータを格納しませんが、テーブルは実際にデータを格納するオブジェクトです; 2. ビュー内のデータは仮想テーブルであり、テーブル内のデータは複数のソースから取得されている; 3. ビューはクエリ ステートメントの構造を継承しますが、テーブルには独自の構造定義があります; 4. ビューは更新できませんが、テーブルでは直接操作が可能です; 5. ビューは以下に基づいています基になるテーブルの権限があり、テーブルには独自のアクセス権限があります。

データ エクスポート: カスタマイズされたデータベース テーブル データ エクスポート: カスタマイズされたデータベース テーブル Sep 02, 2023 pm 06:01 PM

このシリーズの最初の記事で述べたように、カスタム データベース テーブルの主な問題の 1 つは、既存のインポートおよびエクスポート ハンドラーでは処理されないことです。この記事はこの問題に対処することを目的としていますが、現時点では完全に満足のいく解決策がないことに注意してください。 2 つのシナリオを考えてみましょう: カスタム テーブルはネイティブ WordPress テーブルを参照します。 カスタム テーブルはネイティブ テーブルから完全に独立しています。 「最悪のケース」が最初のケースです。例として、ユーザーアクティビティログを保存するカスタムテーブルを考えてみましょう。ユーザー ID、オブジェクト ID、オブジェクト タイプを参照します。これらはすべて、ネイティブ WordPress テーブルに保存されているデータを参照します。ここで、誰かが WordPress Web サイトからすべてのデータを 2 番目の Web サイトにインポートしたいと考えていると想像してください。たとえば、完全に

Antec 650 電源マザーボード ケーブル インターフェイスのピンの数は何ですか? (Antec 650 電源配線図) Antec 650 電源マザーボード ケーブル インターフェイスのピンの数は何ですか? (Antec 650 電源配線図) Jan 03, 2024 am 10:46 AM

Antec 650w マザーボード ケーブルには何ピンがありますか? Antec 650W 電源マザーボードの電源ケーブルは通常 24 ピンで、マザーボード上の最大の電源インターフェイスです。その機能は、マザーボードと電源を接続して、マザーボードやその他のシステム コンポーネントに電力を供給することです。さらに、Antec 650W 電源には、CPU や独立したグラフィックス カードなどの他のコンポーネントを接続するための、CPU8 ピン、PCIe6+2 ピンなどの他のタイプの電源インターフェイスも含まれる場合があります。マザーボード配線チュートリアル マザーボード配線は、マザーボードを設計するときにさまざまな電子コンポーネント間の回路を接続するプロセスです。このプロセスでは、回路の安定性、信号伝送速度、精度などの要素を考慮する必要があります。回路図に従って配線する場合は、レイアウトに注意し、適切な線幅と距離を選択してください。

PHP と PDO: データベース テーブルの変更と名前変更を実行する方法 PHP と PDO: データベース テーブルの変更と名前変更を実行する方法 Jul 28, 2023 pm 10:42 PM

PHP および PDO: データベース テーブルを変更および名前変更する方法 アプリケーションが開発され、要件が変化するにつれて、データベース内のテーブルを変更および名前変更することが必要になることがよくあります。 PHP では、PDO (PHPDataObjects) 拡張ライブラリを使用してこれらの操作を実行できます。この記事では、PDO を使用してデータベース テーブルの変更と名前変更を実行する方法を紹介し、コード例を示します。まず、データベースに正常に接続したことを確認する必要があります。 PDO を使用してデータベースとの接続を確立したと仮定します。

See all articles