MySQL编码问题的一些个人体会

以下所描述没有理论依据,纯属个人经验之谈。MySQL使用4.1以上版本,管他是什么字符集,一律使用默认。不用去设置MySQL。然后举个

以下所描述没有理论依据,纯属个人经验之谈。

MySQL使用4.1以上版本,,管他是什么字符集,一律使用默认。不用去设置MySQL。

然后举个使用GB2312和UTF-8的例子。

好,你只要保证你的写着INSERT SQL语句的PHP文件编码为GB2312,恭喜你,你使用写着SELECT SQL语句的GB2312编码的PHP文件读取出来的数据也是GB2312的。

同理,只要你插入%ignore_a_1%的PHP文件是UTF-8编码,那么你录入的就是UTF-8的,读取出来同样使用编码为UTF-8的读取。

如果我录入为GB2312,显示要使用UTF-8怎么办?

如果你的所有PHP文件为UTF-8编码,那么你在INSERT的时候,就必须使用iconv进行编码转换,将str转为GB2312入库,读取也一样,使用iconv转为UTF-8显示。

你的前端页面使用什么编码,那么你那些字符串已经被该种编码编过了,所以,尽管入库,他的机器码肯定就是那样的,不管存放在哪里,不管MYSQL指定为何种编码,他在录入数据的时候,并不会对你的数据进行转换。只要保证你的前端录入使用UTF-8,那么你读取的也是UTF-8。

为什么使用PHPMYADMIN导入总是有问题呢?

我没有研究过PHPMYADMIN的工作原理,但是他的PHP文件都是UTF-8编码的,也就是这样导入数据都是UTF-8的,你采用GB2312的PHP文件来读取,当然一堆乱。

解决办法我猜有三种:

读取的时候,使用SET NAME将其编码转换,不知道可行不,

读取后使用iconv将其转为GB2312,

不用PHPMYADMIN导入,自己写个GB2312的PHP脚本导入即可。

总之一句话,你录入的时候采用什么编码,那么你读取的时候他就是什么编码。你想把这种编码显示成另外一种编码,那么你需要使用iconv或者mbstring将其进行编码转换。

linux

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/1966117.html

(0)
上一篇 2025年2月23日 06:50:08
下一篇 2025年2月23日 06:50:21

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 数据库种类

    什么是数据库? 简单的说,数据库(英文Database)就是一个存放数据的仓库,这个仓库是按照一定的数据结果(数据结构是指数据的组织形式或数据之间的联系)来组织、存储的、我们可以通过数据库提供的多种方法来管理数据库里的数据更简单的形象理解,…

    2025年2月23日
    100
  • 常用的关系型数据库有哪些?

    关系数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。现实世界中的各种实体以及实体之间的各种联系均用关系模型来表示。标准数据查询语言sql就是一种基于关系数据库的语言,这种语言执行对关系数据库中数据…

    2025年2月23日
    100
  • 数据库的事务隔离级别有哪些?

    在数据库操作中,为了有效保证并发读取数据的正确性,提出的事务隔离级别。在标准sql规范中,定义了4个事务隔离级别,不同的隔离级别对事务的处理不同。下面本篇文章就来给大家介绍一下事务隔离级别,希望对你们有所帮助。 一般的数据库,包括四种隔离级…

    2025年2月23日
    100
  • 数据库备份的两种方法是什么

    数据库备份的两种方法是:1、使用mysqldump结合exec函数进行数据库备份;2、使用【php+mysql+header】函数进行数据库备份。 数据库备份是必要的一般都是使用mysqldump进行备份,我这边写了两种备份方法可以参考一下…

    2025年2月23日
    100
  • 浅谈数据库的存储过程

    什么是存储过程       如果你接触过其他的编程语言,那么就好理解了,存储过程就像是方法一样。   竟然他是方法那么他就有类似的方法名,方法要传递的变量和返回结果,所以存储过程有存储过程名有存储过程参数也有返回值。    存储过程的优点:…

    2025年2月23日
    100
  • 数据库添加语句是什么

    数据库添加语句是insert into语句。 INSERT INTO 语句用于向表中插入新记录。 SQL INSERT INTO 语法 INSERT INTO 语句可以有两种编写形式。 第一种形式无需指定要插入数据的列名,只需提供被插入的值…

    2025年2月23日
    100
  • 数据库设计过程不包括什么

    数据库设计过程不包括算法设计。 数据库设计过程主要包括需求分析、概念结构设计、逻辑结构分析、数据库物理设计、数据库实施、数据库运行和维护阶段。 数据库设计 数据库设计(Database Design)是指对于一个给定的应用环境,构造最优的数…

    2025年2月23日
    100
  • sql指的是什么

    推荐教程:sql教程 简介   SQL (Structured Query Language) 是具有数据操纵和数据定义等多种功能的数据库语言,这种语言具有交互性特点,能为用户提供极大的便利,数据库管理系统应充分利用SQL语言提高计算机应用…

    2025年2月23日
    100
  • 数据库的并发操作可能带来的问题有哪些

    推荐教程:sql教程 什么是数据库并发操作   数据库是一个共享资源,可以提供多个用户使用。这些用户程序可以一个一个地串行执行,每个时刻只有一个用户程序运行,执行对数据库的存取,其他用户程序必须等到这个用户程序结束以后方能对数据库存取。但是…

    2025年2月23日
    100
  • 数据库的最核心也是最常用的操作是什么

    如果你想了解更多关于数据库的知识,可以点击:SQL教程 数据库的最核心也是最常用的操作是增删改查。下面我们为大家介绍一下增删盖查的具体操作语法。 数据库   查询数据库:show databases;   创建数据库:create data…

    数据库 2025年2月23日
    100

发表回复

登录后才能评论