查看及修改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;
system altered
sql> alter system set aq_tm_processes=0;
system altered
sql> alter database open;
database altered
sql> alter database character set internal_use JA16SJIS;
sql> shutdown immediate;
sql> startup;
一、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 展开一、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;
system altered
sql> alter system set aq_tm_processes=0;
system altered
sql> alter database open;
database altered
sql> alter database character set internal_use JA16SJIS;
sql> shutdown immediate;
sql> startup;
三、修改pl/sql developer 的编码格式:
在windows中创 建一个名为“NLS_LANG”的系统环境变量,设置其值为“SIMPLIFIED CHINESE_CHINAZHS16GBK”,
然后重新启动 pl/sql developer,这样检索出来的中文内容就不会是乱码了。如果想转换为UTF8字符集,可以赋予“NLS_LANG”为 “AMERICAN_AMERICAUTF8”,然后重新启动 pl/sql developer。其它字符集设置同上收起
1去mysql下找到文件myini配置文件用记事本打开,找到 default-character-set=latin1,character-set-server=latin1;将latin1改为utf-8或者gbk,修改完之后保存。
2我的电脑右击 “管理”进入之后选择“服务和应用程序”下的“服务”,找到“mysql”之后右击选择“重新启动”。
MySQL中,数据库的编码是一个相当重要的问题,有时候我们需要查看一下当前数据库的编码,甚至需要修改一下数据库编码。
查看当前数据库编码的SQL语句为:
mysql> use xxx
Database changed
mysql> show variables like 'character_set_database';
+------------------------+--------+
| Variable_name | Value |
+------------------------+--------+
| character_set_database | latin1 |
+------------------------+--------+
1 row in set (000 sec)
上面,我们先切换到xxx数据库下面来,然后使用SQL语句:show variables like 'character_set_database'; 来查看了xxx数据库的编码。查询得到的结果是latin1编码。
下面,我们来修改xxx数据库的编码,把它修改为gb2312。
mysql> alter database xxx CHARACTER SET gb2312;
Query OK, 1 row affected (000 sec)
mysql> show variables like 'character_set_database';
+------------------------+--------+
| Variable_name | Value |
+------------------------+--------+
| character_set_database | gb2312 |
+------------------------+--------+
1 row in set (000 sec)
这里同样做了两件事情:
1、使用SQL语句:alter database xxx CHARACTER SET gb2312; 把xxx数据库的编码设置为了gb2312
2、再次使用show variables like 'character_set_database'; 来确认一下当前xxx是什么编码。经过确认,数据库编码已经修改为gb2312了。
关于MySQL查看并修改当前数据库编码,本文就介绍这么多,希望对大家有所帮助,谢谢!
方法一:
mysql> show variables like '%chara%';
+--------------------------+--------------------------+
| Variable_name | Value |
+--------------------------+--------------------------+
| character_set_client | gbk |
| character_set_connection | gbk |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | gbk |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | d:\mysql\share\charsets\ |
+--------------------------+--------------------------+
8 rows in set (000 sec)
mysql> set character_set_client=utf8
-> ;
Query OK, 0 rows affected (000 sec)
mysql> set character_set_client=gbk;
Query OK, 0 rows affected (000 sec)
mysql>
方法二:
在myini或者mycnf中改
中文乱码问题经常会出现
1、数据库、数据表、字段 编码格式要保持一致
2、如果在doc界面录入数据,要保持当前编码格式与数据表编码格式一致
3、php读取数据显示,要保持文件的编码格式、html页面的编码格式同数据库一致,编码格式为utf-8或gb2312或gbk
4、php连接数据库之后mysql_query('set names gbk')
你的问题应该是数据库编码格式不是utf-8,查看一下
以上就是关于oracle数据库支持哪些编码格式全部的内容,包括:oracle数据库支持哪些编码格式、应遵循的PL/SQL编码规则有哪些、如何修改mysql数据库的编码格式等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)