精华内容
下载资源
问答
  • php数据库乱码解决方法发布时间:2020-05-20 10:21:44来源:亿速云阅读:146作者:Leah今天小编就为大家带来一篇介绍php数据库乱码解决方法的文章。小编觉得挺实用的,为此分享给大家做个参考。一起跟随小编过来看看...

    php数据库乱码解决方法

    发布时间:2020-05-20 10:21:44

    来源:亿速云

    阅读:146

    作者:Leah

    今天小编就为大家带来一篇介绍php数据库乱码解决方法的文章。小编觉得挺实用的,为此分享给大家做个参考。一起跟随小编过来看看吧。

    1、在html代码中加上这句:

    ,这个来定义网页的编码,在连接数据库,选择具体数据库后,用mysql_qurry(“set names utf8”);来设置数据库的编码和html编码一致。用的是zend studio开发环境,开发环境也有其代码显示的编码,所以也要改成utf8格式。另外一个就是在创建数据库表的时候也是很关键的,例如在phpMyAdmin数据库中,创建一张tb_product表时候:也要设置里面字段的编码方式,多说无用,看图1吧: 在中下位置将Collation设置为utf8-general-ci编码

    5a2db7655faee8e5cee70537a05e3206.png

    图1

    84589547a4bfb87557a88f2525d9d589.png

    图2

    2、要是创建表的时候忘记设置这个属性了,也不用担心,还有方法,首先选择要修改属性的表,点击Operations修改其属性,同时可以勾上changeall column这个,确定即可,如图2所示.为了进一步保证不出现乱码,还可以对 该表中的某些字段或者所以字段分别添加utf8-general-ci。具体操作:点击需要修改的表(tb_product)->Structure->check all->change,然后再单独设置每个字段的Collation。如图3所示.

    58a89dde4a34c0cb207c3aa06ffb15b9.png

    图3

    注意:要是没对整个表选择编码为utf8-general-ci,而只是对表中的某些字段设置成utf8-general-ci格式,通过Operation查看表的属性,还是会看到整个表的编码为:如gbk-chinese-ci这种格式的话,如果Html编码是utf8,那还是会出现乱码的,所以最关键的是对整个表的Collation设置为utf8-general-ci。如图4和图5,图4中虽然pro_name和pro_producer看起来是utf8-general-ci编码,可是通过查看整个表的编码还是如gbk格式,编码不一致,所以很可能在表中还是会出现乱码。

    好了,总结一下,长话短说,四点:

    1、  如在zend studio中编写php,html代码,首先将创建的工程的显示编码格式为utf8格式;

    2、  在html中使用要编写的网页显示的编码格式;

    3、  连接数据库的时候在选择某个数据库后(不是表)使用mysql_qurry(“set names utf8”);

    4、  就是上面提到的创建数据库的时候将整个表的编码格式设置为utf8-general-ci。

    a83101e4c77a2335545bd4f876285f33.png

    图4

    b08598c4b10c51be466f859671d788f1.png

    以上就是php数据库乱码解决方法的详细内容了,看完之后是否有所收获呢?如果想了解更多相关内容,欢迎关注亿速云行业资讯!

    展开全文
  • 在前端页面向数据库中插入带中文字符的数据...1.解决的办法是在连接数据库时url指定编码:localhost:3306/test?useUnicode=true&characterEncoding=UTF-8";2.修改配置文件my.ini,如果没有my.ini可复制my-defaul...

    在前端页面向数据库中插入带中文字符的数据,到数据库时中文都变成了"?",其中jsp页面已经是设为utf-8编码的,建数据库时选择的编码也是utf-8;

    1.解决的办法是在连接数据库时url指定编码:localhost:3306/test?useUnicode=true&characterEncoding=UTF-8";

    2.修改配置文件my.ini,如果没有my.ini可复制my-default.ini 文件然后修改里面的配置为如下:

    我的my.ini文件如下:

    # For advice on how to change settings please see

    # http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html

    # *** DO NOT EDIT THIS FILE. It's a template which will be copied to the

    # *** default location during install, and will be replaced if you

    # *** upgrade to a newer version of MySQL.

    [mysqld]

    # Remove leading # and set to the amount of RAM for the most important data

    # cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.

    # innodb_buffer_pool_size = 128M

    # Remove leading # to turn on a very important data integrity option: logging

    # changes to the binary log between backups.

    # log_bin

    # These are commonly set, remove the # and set as required.

    # basedir = .....

    # datadir = .....

    # port = .....

    # server_id = .....

    character_set_server=utf8

    [client]

    #设置客户端字符集

    default-character-set=utf8

    loose-default-character-set = utf8

    # Remove leading # to set options mainly useful for reporting servers.

    # The server defaults are faster for transactions and fast SELECTs.

    # Adjust sizes as needed, experiment to find the optimal values.

    # join_buffer_size = 128M

    # sort_buffer_size = 2M

    # read_rnd_buffer_size = 2M

    展开全文
  • 解决乱码最好的方法是在项目设计之初,统一所有的字符集,例如页面、request对象以及数据库等等。一、 几种常见的乱码现象:1、页面乱码单纯的页面乱码是很好解决的,只要修改头部适合的字符集即可,如果页面中文...

    解决乱码最好的方法是在项目设计之初,统一所有的字符集,例如页面、request对象以及数据库等等。

    一、 几种常见的乱码现象:

    1、页面乱码

    单纯的页面乱码是很好解决的,只要修改头部适合的字符集即可,如果页面中文显示乱码,你可以把字符集修改为:gb2312或gbk。

    2、页面之间传递的参数是乱码

    页面之间传递参数出现的乱码,就要解决页面编码和requset的字符集问题,在参数传进传出时重新设置相应的字符集。比如:request.setCharacterEncoding("UTF-8");

    3、数据库乱码(下面详细介绍)

    二、数据库乱码解决方法(Mysql)

    页面和页面传值都没有问题,结果发现存储在数据库中的数据出现了乱码,则问题是出现在数据库的编码问题。

    下面我已MySql数据库为例说明解决方法:

    如果你安装数据库的时候字符集使用的默认选项:latin1

    DOS命令下进入数据库show 一下字符集(命令:show variables like"%char%"; )显示如下:

    Java代码 icon_copy.gif

    +--------------------------+---------------+

    | 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          |

    +--------------------------+---------------++--------------------------+---------------+

    | 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 |

    +--------------------------+---------------+

    1、修改数据库默认字符集:

    打开C:\Program Files\MySQL\MySQL Server 5.0里面的my.ini文件找到这段文字:

    引用

    # The default character set that will be used when a new schema or table is

    # created and no character set is defined

    default-character-set=latin1

    把default-character-set=latin1改为default-character-set=gbk

    这时候show 一下字符集(重新启动mysql服务 ,命令:show variables like"%char%"; )显示如下:

    Java代码 icon_copy.gif

    +--------------------------+---------------+

    | Variable_name            | Value         |

    +--------------------------+---------------+

    | character_set_client     | latin1        |

    | character_set_connection | latin1        |

    | character_set_database   | gbk           |

    | character_set_filesystem | binary        |

    | character_set_results    | latin1        |

    | character_set_server     | latin1        |

    | character_set_system     | utf8          |

    +--------------------------+---------------++--------------------------+---------------+

    | Variable_name | Value |

    +--------------------------+---------------+

    | character_set_client | latin1 |

    | character_set_connection | latin1 |

    | character_set_database | gbk |

    | character_set_filesystem | binary |

    | character_set_results | latin1 |

    | character_set_server | latin1 |

    | character_set_system | utf8 |

    +--------------------------+---------------+

    2、如果你是导入的数据库,需要对my.ini做如下修改找到

    引用

    [client]

    port=3306

    [mysql]

    default-character-set=latin1

    把 default-character-set=latin1改为default-character-set=gbk

    引用

    # SERVER SECTION

    # ----------------------------------------------------------------------

    #

    # The following options will be read by the MySQL Server. Make sure that

    # you have installed the server correctly (see above) so it reads this

    # file.

    #

    [mysqld]

    找到

    增加default-character-set=gbk

    然后在设置一下你导入的数据库字符集即可:

    命令:alter database  你的数据库名 charset = gbk;

    重新启动mysql服务,show 一下字符集(,命令:show variables like"%char%"; )显示如下:

    Java代码 icon_copy.gif

    +--------------------------+---------------+

    | Variable_name            | Value         |

    +--------------------------+---------------+

    | character_set_client     | gbk           |

    | character_set_connection | gbk           |

    | character_set_database   | gbk           |

    | character_set_filesystem | binary        |

    | character_set_results    | gbk           |

    | character_set_server     | gbk           |

    | character_set_system     | utf8          |

    +--------------------------+---------------++--------------------------+---------------+

    | Variable_name | Value |

    +--------------------------+---------------+

    | character_set_client | gbk |

    | character_set_connection | gbk |

    | character_set_database | gbk |

    | character_set_filesystem | binary |

    | character_set_results | gbk |

    | character_set_server | gbk |

    | character_set_system | utf8 |

    +--------------------------+---------------+

    如果你见到如上内容,数据库字符集问题已解决。

    如果你的项目还有字符集问题,那就需要查看一下是否是其他因素导致的乱码了,比如我开篇时提到的问题。

    展开全文
  • 但是因为我们需要在数据库保存中文字符,所以经常遇到数据库乱码情况。下面就来介绍一下如何彻底解决数据库中文乱码情况。1、中文乱码1.1、中文乱码sql;">create table user(name varchar(11)); # 创建user表...

    前言:

    MysqL是我们项目中非常常用的数据型数据库。但是因为我们需要在数据库保存中文字符,所以经常遇到数据库乱码情况。下面就来介绍一下如何彻底解决数据库中文乱码情况。

    1、中文乱码

    1.1、中文乱码

    sql;">

    create table user(name varchar(11)); # 创建user表

    insert into table user("carl"); # 添加数据

    select * from user;

    201703130836571.png

    sql;">

    insert into user value("哈哈");

    无法插入中文字符:

    201703130836572.png

    1.2、查看表字符编码

    show create table user \G;

    *************************** 1. row ***************************

    Table: user

    Create Table: CREATE TABLE `user` (

    `name` varchar(11) DEFAULT NULL

    ) ENGINE=InnoDB DEFAULT CHARSET=latin1

    1 row in set (0.00 sec)

    我们可以看到表的默认字符集是latin1.

    所以我们在创建表的时候就需要指定表的字符集:

    sql;">

    create table user(name varchar(11)) default charset=utf8;

    这样在Linux里面可以访问并且可以插入与访问这个表了。

    201703130836573.png

    1.3、数据库与操作系统编码

    虽然在服务器端可以显示中文正常,但是在客户端可能会显示乱码。因为我们的服务器是UTF8。

    201703130836574.png

    而且数据库的编码也存在问题。

    201703130836575.png

    这里我们可以看character_sert_database与character_set_server的字符集都是latin1.那么在MysqL数据库中,server,database,table的字符集都默认是latin1.下面我们就来看看如何解决MysqL乱码情况。

    2、MysqL设置变量的范围

    2.1、session范围

    查看数据库编码:

    sql;">

    show variables like '%char%';

    201703130836576.png

    修改字符编码:

    sql;">

    set character_set_server=utf8;

    set character_set_database=utf8;

    show variables like '%char%';

    201703130836577.png

    我们可以看到字符集已经修改成都是utf8了。但是这里有一个问题,那就是我们重新打开一个命令窗口然后查看数据编码就会出现下面的画面:

    201703130836578.png

    2.2、global范围

    MysqL设置变量的范围默认是session范围。如果设置多个会话的字符集那么需要设置global范围:Set [global|session] variables …

    sql;">

    set global character_set_database=utf8;

    set global character_set_server=utf8;

    show variables like '%char%';

    当我们跨会话查看MysqL字符集都会看到都是utf8。如果你以为万事大吉了的话,那么你就大错特错了。

    2.3、设置数据全局范围

    当我们数据库重启的时候,你们发现设置global范围的值又变成latin1了。

    sql;">

    service MysqLd restart

    MysqL -uroot -pyourpassword

    show variables like '%char%';

    201703130836579.png

    不要怕,下面就教你终极大招:

    修改MysqL配置文件/etc/my.cnf。

    sql;">

    [MysqLd]

    character-set-server=utf8

    [client]

    default-character-set=utf8

    [MysqL]

    default-character-set=utf8

    请注意这几个参数配置的位置,不然可能会启动不起来MysqL服务:

    2017031308365710.png

    OK。这下如果你重启MysqL服务也会发现它的字符集是utf8.

    2017031308365811.png

    而且我们创建表的时候不需要指定字符编码,它默认就是utf8;

    sql;">

    drop database test;

    create database test;

    use test;

    create table user(name varchar(11));

    show create table user \G;

    2017031308365812.png

    3、总结

    我看网上很多答案都是直接在session级别设置MysqL的字符编码,这是治标不治本的方法。我们还是要从源头上解决这个问题。那就是修改MysqL默认的配置文件,把它的字符集修改成能够使用中文字符的UTF8就OK了。

    感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

    总结

    如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

    本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

    如您喜欢交流学习经验,点击链接加入交流1群:1065694478(已满)交流2群:163560250

    展开全文
  • Java插入数据库乱码解决方案1. 出问题时的情况;采用Navicat for Mysql,创建的表是:room_idvarcharroom_namecharroom_infovarchar其中,字符集采用的是:utf8(navicat中可选)java访问数据库的方式是:public ...
  • 1.在使用MySQL和PHP的时候出现过中文乱码问题(1) 只要是gb2312,gbk,utf8等支持多字节编码的字符集都可以储存汉字,当然,gb2312中的汉字数量远少于gbk,而gb2312,gbk等都可在utf8下编码(2)用命令show variables like...
  • 参考以下解决方法点击某个连接—-属性-切换到高级选项卡–去掉勾选的“使用mysql字符集” 选项–在“编码”处选择65001(UTF-8)或10008-GB2312,再打开就能正常显示中文了。如果上面方法不能解决可参考mysql 的安装...
  • 以下是ora-06552的解决方法: SHUTDOWN IMMEDIATE; STARTUP MOUNT; ALTER SYSTEM ENABLE RESTRICTED SESSION; ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0; ALTER SYSTEM SET AQ_TM_PROCESSES=0; ALTER DATABASE OPEN; ...
  • 在操作mysql数据库时,如果出现了乱码,则是一件十分头疼的事情。MySQL会出现中文乱码的原因不外乎下列几点:1.server本身设定问题,例如还停留在latin1;2.table的语系设定问题(包含character与collation);3....
  • java数据库乱码解决方法:1、创建数据库的时候:CREATE DATABASE `Db`CHARACTER SET 'utf8 'COLLATE 'utf8_general_ci ';2、建表的时候:CREATE TABLE `TableA` (`ID` varchar(40) NOT NULL default ' ',`UserID` v.....
  • 首先我们可以测试一下php文件的乱码,这个好解决,用echo “中文”;就行了,如果显示的有问题,ok,你就要注意这两个了:一是看看我们流浪器是不是使用的解码错误,只要改变网页的这个meta标签就可以让浏览器自己...
  • MySQL中文乱码解决办法前言:MySQL是我们项目中非常常用的数据型数据库。但是因为我们需要在数据库保存中文字符,所以经常遇到数据库乱码情况。下面就来介绍一下如何彻底解决数据库中文乱码情况。1、中文乱码1.1、...
  • 数据集成的同步任务设置编码格式后,如果数据中包括表情符,在运行任务时可能出现同步失败且产生脏数据,或同步成功但数据乱码的问题。 • 同步失败且产生脏数据 数据集成任务运行失败,且因编码问题产生脏数据,...
  • php从数据库读取数据乱码解决方法发布时间:2020-11-23 15:35:25来源:亿速云阅读:71作者:小新这篇文章给大家分享的是有关php从数据库读取数据乱码解决方法的内容。小编觉得挺实用的,因此分享给大家做个参考...
  • 以下是ora-06552的解决方法: SHUTDOWN IMMEDIATE; STARTUP MOUNT; ALTER SYSTEM ENABLE RESTRICTED SESSION; ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0; ALTER SYSTEM SET AQ_TM_PROCESSES=0; ALTER DATABASE OPEN; ...
  • --解决post请求乱码的过滤器--> <filter> <filter-name>characterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-...
  • php存入数据库乱码的解决办法:1、在HTML...推荐:《PHP视频教程》PHP+MySQL中文数据保存到数据库乱码解决方法PHP+MySQL出现中文乱码的常见原因:1. MYSQL数据库的编码是utf8,与PHP网页的编码格式不一致,就会造成MY...
  • Oracle中的乱码解决

    2021-05-05 07:11:06
    之前在Linux上安装Oracle,在安装时没有选择字符集,在后来向其中插入中文数据时,就会出现乱码。查询Oracle的字符集 修改字符集 这个不是很常用,特此记一下。查询Oracle的字符集WE8ISO8859P1 默认select userenv...
  • SSM项目添加内容时出现如图所示乱码,归根到底是写入数据库乱码,就要查看编码设置; 2、出错原因: web.xml配置文件中未写编码过滤器 3、问题解决: 在web.xml添加编码过滤器代码: 代码如下: <filter> ...
  • 问题:创建新数据库,存入中文显示乱码???原因分析:SQL版的乱码问题还是出现在SQL ...解决方法1:如果是新建数据库,可以在建立数据时指定排序规则,记得选中文简体(Chinese_PRC_CS_AI_WS);如果数据库中已...
  • 修改数据库字符集:ALTER DATABASE db_name DEFAULT CHARACTER SET character_name [COLLATE ...];把表默认的字符集和所有字符列(CHAR,VARCHAR,TEXT)改为新的字符集:ALTER TABLE tbl_name CONVERT TO CHARACTER SET...
  • 数据库连接已经是使用了 utf8 字符集:define("MYSQL_ENCODE", "UTF8");mysql_query('SET NAMES '.MYSQL_ENCODE,$conn) or die('字符集设置错误'.mysql_error());搞了大半小时,没有搞定。insert 的数据都是仍然乱码...
  • 数据库操作后乱码解决方案:登录数据库,执行如下sql:show variables like 'character%';结果:| character_set_client | utf8 || character_set_connection | utf8 ...
  • mysql数据库出现乱码解决方法:首先打开“my.ini”配置文件;然后添加配置代码为“default-character-set=utf8”;最后重新启动mysql服务即可。MySQL默认latin1(其实就是ISO-8859-1)字符集,因此我们需要把它调整...
  • 解决MySQL中文乱码以及版本不一致问题这几天基于Heritrix写了一个爬虫,用到MySQL,在导入导出数据时,遇到一些乱码问题,好不容易解决了,记录一下,以备查看。一、导出数据先说明一下自己的环境:Mac OS X 10.8.3,...
  • oracle中的数据库乱码的原因与解决1/5/2008人气:6218“在SQL*Plus中用insert插进的都是中文的,为什么一存入服务器后,再select出的就是???”“有的时候,服务器数据先导出,重装服务器,再导入数据,结果,发生...
  • 很多使用数据库的人都知道,在安装SQLServer数据库是,如果设置不当就会出现一些...那么SQLServer数据库如何解决中文乱码问题?方法有哪些?问题:创建新数据库,存入中文显示乱码?原因分析:SQL版的乱码问题还是出...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 90,467
精华内容 36,186
关键字:

数据库乱码解决方法