recherche
Maisonbase de donnéestutoriel mysqlMySQL插入数据的编码过程

找到这篇文章,里面提到从latin1到UTF8的MySQL编码转换。收藏一下,最近要将所有的数据库都转一次,一直错误的使用latin1,再不转

找到这篇文章,里面提到从latin1到UTF8的MySQL编码转换。收藏一下,最近要将所有的数据库都转一次,一直错误的使用latin1,再不转以后麻烦大了。

SET character_set_client='utf8'

SET character_set_connection='utf8'

SET character_set_results='utf8'

在MySQL4.1以后引入字符集后,他定义字符集通过5个方式来匹配,分别是:服务器环境所用的字符集,数据库,表或者字段所用的字符集,数据库连接用的字符集,,数据库返回结果用的字符集和客户端用的字符集
MySQL 默认都是latin1语言,非常奇怪的事。所以如果你要查询某个库,如果不特殊指定,那么MySQL将按照如下方式:客户端用latin1发送查询信息,通过latin1和数据库建立连接,查询后再用latin1语返回结果,那么当然我们在简体中文浏览器里面看到是乱码了。无论你在建立数据库得时候定义库是什么字符,表是什么字符集去存储都一样。
所以如果要正确得到插入,查询结果,简单的方法是在连接数据库成功后,在查询操作前先$sql = "SET NAMES 'gb2312';
mysql_query($sql);这样将当前数据库连接字符集改为gb2312,这样就没有问题了。


出处:未知

个人建议,数据库字符集尽量使用utf8(utf-8),以使你的数据能很顺利的实现迁移,因为utf8字符集是目前最适合于实现多种不同字符集之间的转换的字符集,尽管你在命令行工具上无法正确查看数据库中的内容,我依然强烈建议使用utf8作为默认字符集.
接下来是完整的一个例子:
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.写数据
通过php直接插入数据:


通过页面提交插入数据:

mysql_connect('localhost','user','password'); mysql_select_db('my_db');
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;
附:旧数据升级办法
以原来的字符集为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
第二步:转换编码

iconv -t utf-8 -f gb2312 -c old.sql > new.sql
在这里,假定原来的数据默认是gb2312编码。
第三步:导入
修改old.sql,增加一条sql语句: “SET NAMES utf8;“,保存。

mysql -hlocalhost -uroot my_db 大功告成!

linux

Déclaration
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
Expliquez le pool de tampons InNODB et son importance pour la performance.Expliquez le pool de tampons InNODB et son importance pour la performance.Apr 19, 2025 am 12:24 AM

InnodBBufferPool réduit les E / S de disque en mettant en cache des données et des pages d'indexation, améliorant les performances de la base de données. Son principe de travail comprend: 1. La lecture des données: lire les données de BufferPool; 2. Écriture de données: Après avoir modifié les données, écrivez dans BufferPool et actualisez-les régulièrement sur le disque; 3. Gestion du cache: utilisez l'algorithme LRU pour gérer les pages de cache; 4. Mécanisme de lecture: Chargez à l'avance des pages de données adjacentes. En dimensionner le tampon et en utilisant plusieurs instances, les performances de la base de données peuvent être optimisées.

MySQL vs d'autres langages de programmation: une comparaisonMySQL vs d'autres langages de programmation: une comparaisonApr 19, 2025 am 12:22 AM

Par rapport à d'autres langages de programmation, MySQL est principalement utilisé pour stocker et gérer les données, tandis que d'autres langages tels que Python, Java et C sont utilisés pour le traitement logique et le développement d'applications. MySQL est connu pour ses performances élevées, son évolutivité et son support multiplateforme, adapté aux besoins de gestion des données, tandis que d'autres langues présentent des avantages dans leurs domaines respectifs tels que l'analyse des données, les applications d'entreprise et la programmation système.

Apprendre MySQL: un guide étape par étape pour les nouveaux utilisateursApprendre MySQL: un guide étape par étape pour les nouveaux utilisateursApr 19, 2025 am 12:19 AM

MySQL vaut la peine d'être appris car il s'agit d'un puissant système de gestion de la base de données open source adapté au stockage, à la gestion et à l'analyse des données. 1) MySQL est une base de données relationnelle qui utilise SQL pour faire fonctionner les données et convient à la gestion structurée des données. 2) Le langage SQL est la clé pour interagir avec MySQL et prend en charge les opérations CRUD. 3) Le principe de travail de MySQL inclut l'architecture client / serveur, le moteur de stockage et l'optimiseur de requête. 4) L'utilisation de base comprend la création de bases de données et de tables, et l'utilisation avancée implique de rejoindre des tables à l'aide de la jointure. 5) Les erreurs courantes incluent les erreurs de syntaxe et les problèmes d'autorisation, et les compétences de débogage incluent la vérification de la syntaxe et l'utilisation des commandes Explication. 6) L'optimisation des performances implique l'utilisation d'index, l'optimisation des instructions SQL et la maintenance régulière des bases de données.

MySQL: Compétences essentielles pour les débutants à maîtriserMySQL: Compétences essentielles pour les débutants à maîtriserApr 18, 2025 am 12:24 AM

MySQL convient aux débutants pour acquérir des compétences de base de données. 1. Installez les outils MySQL Server et Client. 2. Comprendre les requêtes SQL de base, telles que SELECT. 3. 掌握数据操作: : 创建表、插入、更新、删除数据。 4. 学习高级技巧: : 子查询和窗口函数。 5. 调试和优化: : 检查语法、使用索引、避免 Sélectionner * , 并使用 Limite。

MySQL: données structurées et bases de données relationnellesMySQL: données structurées et bases de données relationnellesApr 18, 2025 am 12:22 AM

MySQL gère efficacement les données structurées par la structure de la table et la requête SQL, et met en œuvre des relations inter-tableaux à travers des clés étrangères. 1. Définissez le format de données et tapez lors de la création d'une table. 2. Utilisez des clés étrangères pour établir des relations entre les tables. 3. Améliorer les performances par l'indexation et l'optimisation des requêtes. 4. Bases de données régulièrement sauvegarde et surveillent régulièrement la sécurité des données et l'optimisation des performances.

MySQL: fonctionnalités et capacités clés expliquésMySQL: fonctionnalités et capacités clés expliquésApr 18, 2025 am 12:17 AM

MySQL est un système de gestion de base de données relationnel open source qui est largement utilisé dans le développement Web. Ses caractéristiques clés incluent: 1. Prend en charge plusieurs moteurs de stockage, tels que InNODB et Myisam, adaptés à différents scénarios; 2. Fournit des fonctions de réplication à esclave maître pour faciliter l'équilibrage de la charge et la sauvegarde des données; 3. Améliorez l'efficacité de la requête grâce à l'optimisation des requêtes et à l'utilisation d'index.

Le but de SQL: interagir avec les bases de données MySQLLe but de SQL: interagir avec les bases de données MySQLApr 18, 2025 am 12:12 AM

SQL est utilisé pour interagir avec la base de données MySQL pour réaliser l'ajout de données, la suppression, la modification, l'inspection et la conception de la base de données. 1) SQL effectue des opérations de données via des instructions SELECT, INSERT, UPDATE, DELETE; 2) Utiliser des instructions Create, Alter, Drop pour la conception et la gestion de la base de données; 3) Les requêtes complexes et l'analyse des données sont mises en œuvre via SQL pour améliorer l'efficacité de la prise de décision commerciale.

MySQL pour les débutants: commencer la gestion de la base de donnéesMySQL pour les débutants: commencer la gestion de la base de donnéesApr 18, 2025 am 12:10 AM

Les opérations de base de MySQL incluent la création de bases de données, les tables et l'utilisation de SQL pour effectuer des opérations CRUD sur les données. 1. Créez une base de données: CreatedAtAbaseMy_First_DB; 2. Créez un tableau: CreateTableBooks (idIntauto_inCmentPrimaryKey, TitleVarchar (100) notnull, AuthorVarchar (100) notnull, publied_yearint); 3. Données d'insertion: INSERTINTOBOOKS (titre, auteur, publié_year) VA

See all articles

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.

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

Listes Sec

Listes Sec

SecLists est le compagnon ultime du testeur de sécurité. Il s'agit d'une collection de différents types de listes fréquemment utilisées lors des évaluations de sécurité, le tout en un seul endroit. SecLists contribue à rendre les tests de sécurité plus efficaces et productifs en fournissant facilement toutes les listes dont un testeur de sécurité pourrait avoir besoin. Les types de listes incluent les noms d'utilisateur, les mots de passe, les URL, les charges utiles floues, les modèles de données sensibles, les shells Web, etc. Le testeur peut simplement extraire ce référentiel sur une nouvelle machine de test et il aura accès à tous les types de listes dont il a besoin.

PhpStorm version Mac

PhpStorm version Mac

Le dernier (2018.2.1) outil de développement intégré PHP professionnel

Télécharger la version Mac de l'éditeur Atom

Télécharger la version Mac de l'éditeur Atom

L'éditeur open source le plus populaire

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Puissant environnement de développement intégré PHP