在linux下导入.sql文件,数据库中文乱码

现象描述

我是在aix下面导入如下SQL语句时,数据库中显示乱码。

insert into CONFERENCE(CONFERENCEID,SUBCONFERENCEID,ACCESSNUMBER,ACCOUNTID,ALLOCATEDID,ALLOWVIDEOCONTROL,SCREENTYPE,SCREENSWITCHMODE,BOARDNUM,CANRECORD,CHARGEMODE,CONFERENCEMODE,CONFERENCESTATE,CONFERENCETYPE,CYCLETYPE,ENDTIME,ENTERPROMPT,FACTENDTIME,LANGUAGE,LEAVEPROMPT,LENGTH,LOCKSTATE,MEDIATYPES,MEMBERNOTIFY,MEMO,NEEDADDMEMOTOSMS,NEEDAUTOINVITE,NEEDAUTOKINESCOPE,NEEDAUTORECORD,NEEDINVITEPWD,NEEDPARTICIPATORLIMIT,ORGANIZATIONID,PERMITINVITE,PERMITKINESCOPE,PERMITRECORD,REALORGANIZATIONID,REASON,RECORDFILEPATH,RESERVESIZE,SCHEDULENOTIFY,SCHEDUSERMOBILE,SCHEDUSERNAME,CONFERENCESIZE,SPEAKSTATE,STARTTIME,SUBJECT,SUMMERTIME,TIMEZONE,UPDATENOTIFY,VOICERECORDSTATE,VOICETOPICPATH,VOICETOPICSTATE,EXT1,EXT2,EXT3) values(‘0000152972‘,2,‘25001‘,‘1‘,16,0,‘‘,‘‘,‘1270015060‘,0,‘scheduler‘,‘COMMON‘,‘Schedule‘,‘schedule‘,‘cycle‘,1238251500000,‘‘,1238251500000,‘zh_cn‘,‘‘,840,‘‘,‘video‘,1,‘‘,0,0,0,0,0,0,‘topOrganization‘,1,1,1,‘topOrganization‘,0,‘20090328/meet0000152972‘,3,1,‘‘,‘‘,3,1,1238201100000,‘周期视频会议‘,0,56,1,‘UnRecord‘,‘0000152972‘,‘UnRecord‘,null,null,null);

1.2 可能原因

1、插入的SQL语句中的字段包含中文,由于数据库字符集与操作系统字符集设置不同,导致数据库显示乱码。

2、从本地(不乱码)传到服务器上后就乱码,如果再导入数据的话就必然乱码,所以要解决传递文件的问题

1.3 处理步骤

oracle用户登录数据库所在机器。 以sysdba用户连接数据库。

% sqlplus / as sysdba

检查数据库字符集参数“NLS_LANGUAGE”的值。

SQL> select value from nls_database_parameters where parameter=‘NLS_LANGUAGE‘;

显示参数值为“AMERICAN”。

VALUE
--------------------------------------------------------------------------------
AMERICAN

检查数据库字符集参数“NLS_TERRITORY”的值。

SQL> select value from nls_database_parameters where parameter=‘NLS_TERRITORY‘;

显示参数值为“AMERICA”。

VALUE
--------------------------------------------------------------------------------
AMERICA

检查数据库字符集参数“NLS_CHARACTERSET‘”的值。

SQL> select value from nls_database_parameters where parameter=‘NLS_CHARACTERSET‘;

显示参数值为“WE8MSWIN1252”。

VALUE
--------------------------------------------------------------------------------
WE8MSWIN1252

根据在数据库查询的字符集参数,修改数据库所在机器操作系统的字符集“NLS_LANG”变量。

SQL> export NLS_LANG=AMERICAN_AMERICA.WE8MSWIN1252

“AMERICAN”、“AMERICA”、“WE8MSWIN1252”是3、4、5的查询结果。

时间: 2024-11-03 21:31:43

在linux下导入.sql文件,数据库中文乱码的相关文章

linux下javadoc生成文件出现中文乱码

javadoc命令的正确使用姿势 javadoc -d apidoc -windowtitle Testing -doctitle 'The API of javadoc' -header 'My class' -charset UTF-8 -author -version *.java 注意 使用-author和-version是因为javadoc默认不提取这两个信息 增加-endoing UTF-8选项可使代码文件编码也更改为UTF-8 版权声明:本文为博主原创文章,未经博主允许不得转载.

MySQL命令行导入sql文件时出现乱码解决方案

Note: sql> source F:weibo.sql(执行相关sql文件) sql> select * from sina into outfile "/weibo.txt"(导出相应数据到C:的weibo.txt) 1. mysql 5.0后其客户端仅支持gbk,故可在sql> set names gbk; 例如: set names gbk; /* Navicat MySQL Data Transfer Source Server : localhost_3

在linux中导入sql文件的方法分享(使用命令行转移mysql数据库)

因导出sql文件 在你原来的网站服务商处利用phpmyadmin导出数据库为sql文件,这个步骤大家都会,不赘述. 上传sql文件 前面说过了,我们没有在云主机上安装ftp,怎么上传呢? 打开ftp客户端软件,例如filezilla,使用服务器IP和root及密码,连接时一定要使用SFTP方式连接,这样才能连接到linux.注意,这种方法是不安全的,但我们这里没有ftp,如果要上传本地文件到服务器,没有更好更快的方法. 我们把database.sql上传到/tmp目录. 连接到linux,登录m

Linux下执行SQL文件

最近在使用MySQL数据库时,想要执行一些sql文件,就想到了source命令. source介绍:source命令也称为“点命令”,也就是一个点符号(.),是bash的内部命令. 功能:使Shell读入指定的Shell程序文件并依次执行文件中的所有语句. 用法:source filename 或 . filename 说明:source命令(从 C Shell 而来)是bash shell的内置命令;点命令(.),就是个点符号(从Bourne Shell而来)是source的另一名称. 有点跑

Linux下用freetds连接mssql中文乱码的问题【参考1】

由于工作原因我们需要通过php访问我们以前的Sql Server 2005数据,所以就有了这篇文章的诞生.废话就少说了,做程序设计的最不喜欢兜圈子了.用简介步骤说明问题,往下看.系统:   Linux数据库: Sql Server 2005 1.下载FreeTDS  官方网站:http://www.freetds.org  2.安装FreeTDS# tar zxvf freetds-current.tgz(解压)# ./configure --prefix=/usr/local/freetds

解决在Linux下安装Oracle时的中文乱码问题

本帖最后由 TsengYia 于 2012-2-22 17:06 编辑 操作系统:Red Hat Enterprise Linux 6.1数据库:Oracle Database 11g R2 方法一:逃避法,改用英文界面安装 [[email protected] ~]# su - oracle    [[email protected] ~]$ export LANG=en_US.UTF-8    [[email protected] ~]$ cd /var/ftp/pub/database/ 

Linux下用freetds连接mssql中文乱码的问题【参考2】

php5.3的情况下,用pdo的dblib驱动无法连接mssql的,根据官方的描述,5.2已经修改这个bug,5.3没有. 用php自带的mssql函数可以的.编译freetds,php_mssql,pdo_dblib参数如下: ./configure --prefix=/usr/local/freetds --with-tdsver=8.0 --enable-msdblib./configure --with-php-config=/usr/local/php/bin/php-config -

PLSQL导入SQL文件

PLSQL导入sql文件: 数据库中已有表TEST001 CREATE TABLE TEST001( SID VARCHAR2(10), SNAME VARCHAR2(10), SSEX CHAR(1), SAGE NUMBER(2), SPHONE NUMBER(11), DID NUMBER(5), PRIMARY KEY(SID) ) 1.打开---SQL脚本--选择SQL脚本---执行即可 2.tools--->导入表--->sql插入---->使用命令窗口 3.命令窗口[ema

解决linux下导入数据库乱码问题

引言:在windows下的mysql数据库导出SQL文件,在Linux下导入后显示为乱码. 1.启动Mysql服务及创建数据库(下面uushop为我将创建的数据库名) ? 1 2 service mysqld start create database uushop; 2.导入Mysql文件方式 --未登录 mysql -u root -p uushop < /software/uushop.sql --已登录 use uushop; source /software/uushop.sql 3.