mySql连接数据库出现乱码,如何解决啊

mySql连接数据库出现乱码,如何解决啊,第1张

保证数据库端和客户端的字符集一致就可以了,

在服务端用show variables like 'ch%';查看服务端字符集,

在客户端执行set names utf8;(以utf8为例)就可以了

一、pl/sql developer 中文字段显示乱码

原因:因为数据库的编号格式和pl /sql developer的编码格式不统一造成的。

二、查看和修改oracle数据库字符集:

select userenv('language') from dual;

查询结果:

SIMPLIFIED CHINESE_CHINAAL32UTF8

--修改oracle数据库字符集:(在SQL Plus中)

sql> conn / as sysdba;

sql> shutdown immediate;

database closed

database dismounted

oracle instance shut down

sql> startup mount;

oracle instance started

total system global area 135337420 bytes

fixed size 452044 bytes

variable size 109051904 bytes

database buffers 25165824 bytes

redo buffers 667648 bytes

database mounted

sql> alter system enable restricted session;

system altered

sql> alter system set job_queue_processes=0;

可能需要修改数据库的配置

一般情况下我们在设计数据库的时候都会事先确定好要用的字符集,但当我们要使用以前的数据的时候,可能会遇到字符集不同的问题,字符集的修改不能通过alert database charest set 来直接修改,这样只是影响以后的数据,对已有的数据没有用,那怎么办那

我们模拟讲latin1字符集的数据库修改成GBK的字符集,

1,导出表结构:

mysqldump -uroot -p --default -character-set = gbk -d databasename>createtabsql

-default-character-set=gbk 表示设置上面字符集连接 -d表示只导出表结构

2,手工修改createtabsql中表结构定义中的字符集为新的字符集。

3,确保记录不在更新,导出所有记录

mysqldump -uroot -p --quick --no-create-info --extended-insert --default-chareacter-set=latina

databasename>datesql

--quick 该选项用于转存储大的表,--extended-insert 可以使转存文件更小,重载的时候加快速度,

--no-create-info不写重新创建每个转存储表的create table 语句,--default-character-set=latin1按照原有的字符集导出所有数据,这样导出的文件中,所有的中文都是可见的,保证不会出项乱码,

4,打开datasql 将set names lation1修改为set names gbk;

5,使用新的字符集创建数据库,

create database databasename default charset gbk;

6,创建表,执行createtabsql

mysql -uroot -p databasename < createtabsql

7,导入数据,执行datasql,

mysql -uroot -p databasename < datasql

参考上面的方法试验下!~

你找到MySql的服务器安装路径,默认是C:\Program

Files\MySQL\MySQL

Server

50,找到myini这个配置文件,然后把default-character-set的值改成utf8,有两个地方如果还不行,看下乱码的那个列的编码格式,把字符集改成utf8,把整理改成utf8_general_ci

Word 文档是许多电脑用户写作时使用的文件格式,当您辛辛苦苦写完一篇Word文档后,发现它因损坏而无法打开时,一定非常着急。其实,您不必心焦,因为我们还是有一些方法可以修复损坏文档,恢复受损文档中的文字。下面是具体的步骤。

1 采用专用修复功能

①在“文件”菜单上,单击“打开”。

②在“查找范围”列表中,单击包含要打开的文件的驱动器、文件夹或Internet 位置。

③在文件夹列表中,定位并打开包含文件的文件夹。

④选择要恢复的文件。

⑤单击“打开”按钮旁边的箭头,然后单击“打开并修复”(如图)。

“打开并修复”是Word 2002/2003 才具有的功能,如果该方法仍不能打开受损文档,或者您使用的是Word 97/2000,可以试试以下方法。

2 提取文字法

①在“工具”菜单上,单击“选项”“常规”选项卡。

②确认选中“打开时确认转换”复选框,然后单击“确定”。

③单击常用工具栏上的“打开”按钮。

④在“文件类型”框中,单击“从任意文件中恢复文本”。

⑤像通常一样打开文档。

在使用上述方法打开受损Word 文档后,如果文档内容显示混乱,请继续以下工作。

3 转换文档格式

将Word文档转换为另一种格式,然后再将其转换回Word 文档格式。这是最简单和最彻底的文档恢复方法,请始终先尝试这种方法。

①在Word 中打开损坏的文档。

②在“文件”菜单上,单击“另存为”。

③在“保存类型”列表中,单击“RTF 格式(rtf)”,然后单击“保存”。

请参考

字符集不一致

select from V$NLS_PARAMETERS

客户端注册表中的nls_lang 应该是SIMPLIFIED CHINESE_CHINAZHS16GBK

把客户端的NLS_LANG参数改为AMERICAN_AMERICAUTF8

再试试

1用phpmyadmin创建数据库和数据表

创建数据库的时候,请将“整理”设置为:“utf8_general_ci”

或执行语句:

复制代码

代码如下:CREATE

DATABASE

`dbname`

DEFAULT

CHARACTER

SET

utf8

COLLATE

utf8_general_ci;

创建数据表的时候:如果是该字段是存放中文的话,则需要将“整理”设置为:“utf8_general_ci”,

如果该字段是存放英文或数字的话,默认就可以了。

相应的SQL语句,例如:

CREATE

TABLE

`test`

(

`id`

INT

NOT

NULL

,

`name`

VARCHAR(

10

)

CHARACTER

SET

utf8

COLLATE

utf8_general_ci

NOT

NULL

,

PRIMARY

KEY

(

`id`

)

)

ENGINE

=

MYISAM

;

2用PHP读写数据库

在连接数据库之后:

复制代码

代码如下:$connection

=

mysql_connect($host_name,

$host_user,

$host_pass);

加入两行:

mysql_query("set

character

set

'utf8'");//读库

mysql_query("set

names

'utf8'");//写库

就可以正常的读写MYSQL数据库了。

用的appserv-win32-2510做的环境,装这个包的时候用默认的utf8编码。

在写数据库连接文件时,写成:

$conn

=

mysql_connect("$host","$user","$password");

mysql_query("SET

NAMES

'UTF8'");

mysql_select_db("$database",$conn);

然后在做页面时,注意这句:

复制代码

代码如下:<meta

>

以上就是关于mySql连接数据库出现乱码,如何解决啊全部的内容,包括:mySql连接数据库出现乱码,如何解决啊、oracle数据库乱码怎么解决、PHP中MYSQL数据库乱码问题,跪求解决方案等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10142374.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存