Maison base de données tutoriel mysql 举例详解MySQL字符集_MySQL

举例详解MySQL字符集_MySQL

Jun 01, 2016 pm 01:56 PM
数据库表 Oui

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

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment créer et gérer des tables de base de données en utilisant PHP Comment créer et gérer des tables de base de données en utilisant PHP Sep 09, 2023 pm 04:48 PM

Comment utiliser PHP pour créer et gérer des tables de bases de données Avec le développement rapide d'Internet, les bases de données sont devenues un élément indispensable de divers sites Web et applications. En PHP, nous pouvons utiliser un système de gestion de base de données (SGBD) tel que MySQL pour créer et gérer des tables de base de données. Cet article vous apprendra comment utiliser PHP pour implémenter cette fonction, avec des exemples de code correspondants. Se connecter à la base de données Tout d'abord, nous devons nous connecter à la base de données en PHP. Vous pouvez utiliser l'extension mysqli ou PDO fourni par PHP pour réaliser cette fonction.

Comment distinguer les vues et les tables de base de données Comment distinguer les vues et les tables de base de données Aug 22, 2023 am 11:27 AM

Les vues et les tables de base de données sont deux concepts différents dans la base de données, avec des caractéristiques et des utilisations différentes. Une table est une entité qui stocke réellement des données dans la base de données, tandis qu'une vue est une table virtuelle dérivée d'une ou plusieurs tables, utilisée pour spécifier la manière de les utiliser. présenter et manipuler des données. Les tableaux ont une plus grande persistance des données, tandis que les vues offrent un accès aux données plus flexible et plus pratique.

Quelles sont les différences entre les vues et les tables de base de données ? Quelles sont les différences entre les vues et les tables de base de données ? Sep 04, 2023 pm 03:13 PM

Les différences entre les vues de base de données et les tables sont les suivantes : 1. Une table est une structure physique utilisée pour stocker des données dans une base de données, tandis qu'une vue est simplement un ensemble de résultats de requête basé sur une ou plusieurs tables. 2. Une table est le stockage physique ; unité de données, et une vue fournit uniquement des règles pour visualiser et exploiter les données des tables ; 3. Les vues fournissent un mécanisme de sécurité avancé pour la base de données, et les tables n'ont aucun mécanisme de sécurité ; 4. Les vues sont des abstractions de tables ; 5. Les vues peuvent en combiner plusieurs ; les tables dans les requêtes, et les tables ne peuvent interroger qu'une seule table ; 6. Les tables sont des structures permanentes dans la base de données, les vues ne le sont pas ; 7. Les vues peuvent créer des vues avec le même nom, mais les tables ne peuvent pas créer des tables avec le même nom, etc.

Qu'est-ce que la pièce de protocole NEAR ? Quelles sont les caractéristiques des pièces du protocole NEAR ? Qu'est-ce que la pièce de protocole NEAR ? Quelles sont les caractéristiques des pièces du protocole NEAR ? Mar 04, 2024 pm 11:20 PM

NEARProtocol : une plateforme blockchain évolutive et conviviale NEARProtocol est une plateforme blockchain utilisant la technologie de partitionnement conçue pour relever les défis rencontrés par la technologie blockchain en termes d'évolutivité, de convivialité et de sécurité. Il fournit aux développeurs une plate-forme efficace et conviviale qui leur permet de créer et de déployer facilement des applications décentralisées (dApps). NEARProtocol est conçu pour réduire les obstacles au développement de la blockchain tout en offrant un haut degré d'efficacité et de sécurité. En adoptant la technologie de partitionnement, NEARProtocol peut mieux gérer les transactions à grande échelle et offrir aux utilisateurs des délais de confirmation de transaction plus rapides. Dans l'ensemble, NEARProtocol est conçu pour fournir

Quelles sont les différences entre les vues et les tables de base de données ? Quelles sont les différences entre les vues et les tables de base de données ? Aug 22, 2023 am 11:15 AM

Il existe cinq différences entre les vues de base de données et les tables de la base de données : 1. Les vues ne stockent pas de données, mais les tables sont des objets qui stockent réellement des données. 2. Les données d'une vue sont une table virtuelle et les données de la table peuvent provenir ; à partir de plusieurs sources ; 3. La vue hérite de la structure de l'instruction de requête, tandis que la table a sa propre définition structurelle ; 4. La vue ne peut pas être mise à jour, alors que la table permet des opérations directes sur elle ; autorisations de la table sous-jacente, et la table possède ses propres autorisations d'accès.

Exportation de données : table de base de données personnalisée Exportation de données : table de base de données personnalisée Sep 02, 2023 pm 06:01 PM

Comme mentionné dans le premier article de cette série, l'un des principaux problèmes des tables de bases de données personnalisées est qu'elles ne sont pas gérées par les gestionnaires d'importation et d'exportation existants. Cet article vise à résoudre ce problème, mais il convient de noter qu’il n’existe actuellement aucune solution pleinement satisfaisante. Considérons deux scénarios : La table personnalisée fait référence à une table WordPress native. La table personnalisée est totalement indépendante de la table native. Le « pire des cas » est le premier cas. Prenons comme exemple une table personnalisée qui enregistre les journaux d'activité des utilisateurs. Il fait référence à l’ID utilisateur, à l’ID d’objet et au type d’objet, qui font tous référence à des données stockées dans des tables WordPress natives. Imaginez maintenant que quelqu’un souhaite importer toutes les données de son site WordPress vers un deuxième site Web. Par exemple, complètement

Quel est le nombre de broches dans l'interface du câble de la carte mère de l'alimentation Antec 650 ? (Schéma de câblage de l'alimentation Antec 650) Quel est le nombre de broches dans l'interface du câble de la carte mère de l'alimentation Antec 650 ? (Schéma de câblage de l'alimentation Antec 650) Jan 03, 2024 am 10:46 AM

Combien de broches possède le câble de la carte mère Antec 650w ? Le câble d'alimentation de la carte mère d'alimentation Antec 650W est généralement composé de 24 broches, ce qui constitue la plus grande interface d'alimentation de la carte mère. Sa fonction est de connecter la carte mère et l'alimentation électrique pour alimenter la carte mère et les autres composants du système. De plus, l'alimentation Antec 650W peut également inclure d'autres types d'interfaces d'alimentation, telles que CPU8pin, PCIe6+2pin, etc., pour connecter d'autres composants tels que le CPU et les cartes graphiques indépendantes. Tutoriel sur le routage de la carte mère Le routage de la carte mère est le processus de connexion de circuits entre divers composants électroniques lors de la conception d'une carte mère. Dans ce processus, des facteurs tels que la stabilité du circuit, la vitesse de transmission du signal et la précision doivent être pris en compte. Lorsque vous acheminez le câblage selon le schéma de circuit, faites attention à la disposition et sélectionnez la largeur et la distance de ligne appropriées à éviter.

Optimiser la structure des tables MySQL pour résoudre les problèmes de connexion Optimiser la structure des tables MySQL pour résoudre les problèmes de connexion Jun 30, 2023 pm 01:04 PM

Problème de connexion MySQL : Comment optimiser la structure des tables de la base de données ? Les connexions aux bases de données sont un élément très important lors du développement d’applications. Lorsque nous utilisons la base de données MySQL, optimiser correctement la structure des tables de la base de données peut améliorer les performances des requêtes et des connexions, améliorant ainsi les performances des applications et la vitesse de réponse. Cet article présentera quelques méthodes pour optimiser la structure des tables de la base de données afin de résoudre les problèmes de connexion MySQL. 1. Concevoir raisonnablement la structure des tables. Lors de la conception de la structure des tables de la base de données, il est nécessaire de concevoir raisonnablement les relations entre les tables en fonction des besoins du programme d'application afin de réduire les données.

See all articles