最近使用phpMyadmin来关联项目,因为项目用到的是编码utf-8,在页面配置为utf8编码以及数据库字符集设置为utf8 -- UTF-8 Unicode整理为utf8_general_ci 后,执行新增操作,插入数据库的还是乱码。
百思不得其解,后来通过在网上找,终于解决了。
进入安装环境找到my.ini找到 [mysqld] 下 default-character-set 和 character-set-server 将值改为UTF8. 重启MYSQL。如果不存在,则手动加入。
下面是本人提供的图片:
在控制台可执行该操作查看编码:
mysql> SHOW VARIABLES LIKE 'character_set_%'; +--------------------------+-------------------------------------+ | Variable_name | Value | +--------------------------+-------------------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | D:\soft\xampp\mysql\share\charsets\ | +--------------------------+-------------------------------------+ 8 rows in set mysql> SHOW VARIABLES LIKE 'collation_%'; +----------------------+-----------------+ | Variable_name | Value | +----------------------+-----------------+ | collation_connection | utf8_general_ci | | collation_database | utf8_general_ci | | collation_server | utf8_general_ci | +----------------------+-----------------+ 3 rows in set
以下关于对phpMyadmin下相关详细:
MySQL的字符集支持(Character Set Support)有两个方面:字符集(Character set)和排序方式(Collation)。对于字符集的支持细化到四个层次: 服务器(server),数据库(database),数据表(table)和连接(connection)。 1.MySQL默认字符集:MySQL对于字符集的指定可以细化到一个数据库,一张表,一列.传统的程序在创建数据库和数据表时并没有使用那么复杂的配置,它们用的是默认的配置. (1)编译MySQL 时,指定了一个默认的字符集,这个字符集是 latin1;(2)安装MySQL 时,可以在配置文件 (my.ini) 中指定一个默认的的字符集,如果没指定,这个值继承自编译时指定的;(3)启动mysqld 时,可以在命令行参数中指定一个默认的的字符集,如果没指定,这个值继承自配置文件中的配置,此时 character_set_server 被设定为这个默认的字符集;(4)当创建一个新的数据库时,除非明确指定,这个数据库的字符集被缺省设定为character_set_server;(5)当选定了一个数据库时,character_set_database 被设定为这个数据库默认的字符集;(6)在这个数据库里创建一张表时,表默认的字符集被设定为 character_set_database,也就是这个数据库默认的字符集;(7)当在表内设置一栏时,除非明确指定,否则此栏缺省的字符集就是表默认的字符集;如果什么地方都不修改,那么所有的数据库的所有表的所有栏位的都用 latin1 存储,不过我们如果安装 MySQL,一般都会选择多语言支持,也就是说,安装程序会自动在配置文件中把 default_character_set 设置为 UTF-8,这保证了缺省情况下,所有的数据库的所有表的所有栏位的都用 UTF-8 存储。 2.查看默认字符集(默认情况下,mysql的字符集是latin1(ISO_8859_1)通常,查看系统的字符集和排序方式的设定可以通过下面的两条命令: mysql> SHOW VARIABLES LIKE ‘character%’; +————————–+———————————+ | Variable_name | Value | +————————–+———————————+ | character_set_client | latin1 | | character_set_connection | latin1 | | character_set_database | latin1 | | character_set_filesystem | binary | | character_set_results | latin1 | | character_set_server | latin1 | | character_set_system | utf8 | | character_sets_dir | D:”mysql-5.0.37″share”charsets” | +————————–+———————————+ mysql> SHOW VARIABLES LIKE ‘collation_%’; +———————-+—————–+ | Variable_name | Value | +———————-+—————–+ | collation_connection | utf8_general_ci | | collation_database | utf8_general_ci | | collation_server | utf8_general_ci | +———————-+—————–+ 3.修改默认字符集 (1) 最简单的修改方法,就是修改mysql的my.ini文件中的字符集键值, 如 default-character-set = utf8 character_set_server = utf8 修改完后,重启mysql的服务,service mysql restart 使用 mysql> SHOW VARIABLES LIKE ‘character%’;查看,发现数据库编码均已改成utf8 +————————–+———————————+ | Variable_name | Value | +————————–+———————————+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | D:”mysql-5.0.37″share”charsets” | +————————–+———————————+ (2) 还有一种修改字符集的方法,就是使用mysql的命令 mysql> SET character_set_client = utf8 ; mysql> SET character_set_connection = utf8 ; mysql> SET character_set_database = utf8 ; mysql> SET character_set_results = utf8 ; mysql> SET character_set_server = utf8 ; mysql> SET collation_connection = utf8 ; mysql> SET collation_database = utf8 ; mysql> SET collation_server = utf8 ; 一般就算设置了表的默认字符集为utf8并且通过UTF-8编码发送查询,你会发现存入数据库的仍然是乱码。问题就出在这个connection连接层上。解决方法是在发送查询前执行一下下面这句: SET NAMES ‘utf8′; 它相当于下面的三句指令: SET character_set_client = utf8; SET character_set_results = utf8; SET character_set_connection = utf8;
相关推荐
关于Mysql、Php、phpMyAdmin、Zend 乱码的问题是一个常见的问题,而解决它们并不困难。只要我们了解Mysql和浏览器显示的原理,就可以轻松地避免乱码的困扰。 系统说明 在解决乱码问题之前,我们需要了解我们的系统...
总的来说,解决 MySQL 的远程访问和中文乱码问题,需要理解数据库权限、字符集原理以及开发工具的使用。通过细心的配置和测试,我们可以确保数据库系统的正常运行,同时保障数据的完整性和可读性。
MYSQL数据库中文乱码问题是许多开发者和数据库管理员经常遇到的问题,尤其是在导入和导出数据时。下面总结了一些常见的解决方案和技巧,以供参考。 方法一:使用正确的命令 在WINDOWS系统下,使用MYSQL命令行工具...
3. 使用mysqldump工具:文中提到使用Navicat导出时遇到中文乱码问题,之后尝试使用了MySQL自带的mysqldump工具,并通过指定`--default-character-set=gbk`选项解决了乱码问题。这表明mysqldump在处理字符集方面比...
在使用 PHPmyadmin 导出 MySql 数据库时,经常会遇到中文乱码的问题,这是因为数据库的字符集编码问题。中文网站使用的字符集编码一般是 gb2312、gbk、utf8 等三种,而 PHPmyadmin 的默认字符集是 latin1_swedish_ci...
在MySQL 5.6中遇到中文乱码问题,通常是由于字符集配置不正确导致的。字符集决定了数据库如何存储和显示非英文字符,尤其是对于中文这样的多字节字符集而言,正确的配置至关重要。以下是解决MySQL 5.6中文乱码问题的...
此外,还需要注意,在使用 PHPMyAdmin 时,需要选择正确的语言和编码,以便正确地显示中文。在 MySQL 的运行信息中,可以看到 character set 的设置情况,以确保 MySQL 正确地存储和读取中文。 解决 Apache、MySQL ...
MySQL数据库在处理字符集时可能出现乱码问题,这通常是由于编码设置不一致或者不正确导致的。本篇文章将深入探讨MySQL乱码问题的原因,并提供一系列详细的解决方法。 1. **问题原因** - **编码不匹配**:数据库、...
在Ubuntu 15.10操作系统中安装并使用MySQL 5.6.28时,可能会遇到中文乱码的问题。这通常与字符集配置有关,影响到数据的正确存储和显示。以下是一份详细的解决方案,旨在帮助你解决这个问题。 首先,我们需要检查...
在使用MySQL数据库与PHP配合开发网站时,有时会遇到乱码问题,这通常是由于字符集设置不一致导致的。以下是一些常用的解决方法: 1. **配置数据库环境**: - 在使用工具如ZendStudio或phpMyAdmin管理MySQL时,确保...
PHPMyAdmin是最流行的MySQL数据库管理工具,但是许多用户在使用时遇到中文乱码问题,这个问题让用户感到非常头疼。今天我们将讨论解决phpMyAdmin中文乱码问题的方法。 问题分析 phpMyAdmin中文乱码问题的原因是...
在MySQL数据库中遇到中文乱码问题,这通常是由于字符集设置不正确导致的。这个问题的解决方案涉及多个层面,包括MySQL服务器配置、数据库、表以及字段的字符集设定。以下是最简单且有效的解决方法: 首先,我们需要...
### 解决MySQL乱码问题全解析 #### 一、引言 在数据库操作过程中,遇到乱码问题是较为常见的现象之一,尤其是对于频繁更换虚拟主机环境的用户来说,由于不同的服务提供商可能采用不同的MySQL版本,这很容易导致数据...
MySQL是世界上最流行的开源关系型数据库管理系统之一,但在处理数据时,有时可能会遇到字符编码问题,导致乱码。本文将深入探讨MySQL处理乱码的相关知识点,包括字符集的概念、乱码产生的原因、解决方法以及如何避免...
在MySQL 5.6中,中文乱码问题是一个常见的困扰,尤其对于那些处理大量中文数据的应用来说。这个问题的出现通常是由于数据库的字符编码设置不正确,导致中文字符无法正确存储和显示。以下将详细解释这个问题的原因及...
本文将深入探讨MySQL中文乱码、phpMyAdmin乱码以及PHP显示乱码的原因,并提供相应的解决方法。 MySQL自版本4.1开始引入了对多国语言的支持,这使得它能够处理多种字符集。字符集决定了数据如何被存储和解析,而不同...
在使用phpMyAdmin 2.6及以上版本管理数据库时,可能会遇到中文数据出现乱码的情况。这一问题主要出现在通过phpMyAdmin界面进行数据查询时,尽管在PHP应用程序中调用相同的数据时不会出现问题。本文将详细介绍导致此...