英文版ubuntu解压乱码解决方法

在使用英文版Ubuntu时,遇到解压含有中文名的文件出现乱码或解压错误的情况,主要是因为文件的字符集与系统不匹配。文章介绍了如何使用unar软件进行解压,并提供了安装及命令行操作的详细步骤。

在使用英文版ubuntu时,在解压含有中文名的文件时,会出现解压后乱码或是解压出错的情况。

出现这种情况的主要原因是很多中文采用非utf-8字符集,在windows下默认采用GBK,而ubuntu采用的是uft-8字符集,所以会产生字符集冲突。

所以在解压含有中文字或非utf-8字符集的文件时,我们使用unar软件进行解压。而不是使用ubuntu自带的解压工具。

一般unar需要通过:

sudo apt-get install unar 进行安装。

安装完成后使用命令行进行操作。

如:

     unar xxx.zip

<think>我们正在解决Linux安装Oracle 19c时出现的乱码问题。根据引用内容,乱码问题可能出现在安装过程中或安装后的数据库操作中(如SQL*Plus等)。根据引用[3],在解压安装包后,运行安装程序时可能出现乱码,特别是上下左右键乱码。此外,引用[1]和引用[3]都提到了解决乱码问题的方法。 常见的乱码原因: 1. 系统语言环境(Locale)设置不正确,导致Oracle安装程序或数据库工具无法正确显示字符。 2. 缺少中文字体支持(如果需要在中文环境下使用)。 3. Oracle客户端工具(如sqlplus)的字符集设置问题。 解决方案: 一、设置系统语言环境(Locale) 在安装Oracle之前,确保系统的语言环境设置为支持UTF-8的英语环境(推荐)或正确的中文环境。 1. 检查当前语言环境: ```bash locale ``` 输出应包含: ``` LANG=en_US.UTF-8 LC_CTYPE="en_US.UTF-8" LC_ALL=en_US.UTF-8 ``` 2. 如果未设置,修改为英文环境(推荐): ```bash # 临时设置 export LANG=en_US.UTF-8 export LC_ALL=en_US.UTF-8 # 永久设置(写入配置文件) echo "export LANG=en_US.UTF-8" >> ~/.bashrc echo "export LC_ALL=en_US.UTF-8" >> ~/.bashrc source ~/.bashrc ``` 或者,如果需要使用中文环境,则设置为: ```bash export LANG=zh_CN.UTF-8 export LC_ALL=zh_CN.UTF-8 # 同样写入~/.bashrc ``` 3. 生成所需的locale(如果未生成): 编辑`/etc/locale.gen`文件,取消注释`en_US.UTF-8`或`zh_CN.UTF-8`,然后运行: ```bash sudo locale-gen ``` 二、安装中文字体(如果使用中文环境) 如果需要在Oracle安装界面或数据库工具中显示中文,安装中文字体: ```bash # CentOS/RHEL sudo yum install -y fontconfig mkfontscale sudo yum install -y wqy-microhei-fonts wqy-zenhei-fonts # Ubuntu/Debian sudo apt install -y fonts-wqy-microhei fonts-wqy-zenhei ``` 三、解决SQL*Plus等工具中的上下左右键乱码问题(即回显^[[A等) 这是由于SQL*Plus默认使用rlwrap,但如果没有正确安装或配置,则会出现乱码解决方法: 1. 安装rlwrap: ```bash # CentOS/RHEL sudo yum install -y rlwrap # Ubuntu/Debian sudo apt install -y rlwrap ``` 2. 为oracle用户设置别名(在~/.bashrc中添加): ```bash alias sqlplus='rlwrap sqlplus' alias rman='rlwrap rman' ``` 然后执行: ```bash source ~/.bashrc ``` 3. 如果安装rlwrap后仍然无效,可以尝试使用以下方法: 创建一个名为`sqlplus`的脚本,放在`$ORACLE_HOME/bin`目录下(注意备份原文件): ```bash #!/bin/bash rlwrap $ORACLE_HOME/bin/sqlplus.bak $@ ``` 然后: ```bash mv $ORACLE_HOME/bin/sqlplus $ORACLE_HOME/bin/sqlplus.bak mv sqlplus $ORACLE_HOME/bin/sqlplus chmod +x $ORACLE_HOME/bin/sqlplus ``` 四、数据库字符集设置 在安装Oracle时,选择正确的字符集(如AL32UTF8,即UTF-8字符集)可以避免后续数据存储和显示的乱码问题。 如果已经安装完成,可以通过以下步骤修改数据库字符集(注意:修改字符集是一个复杂操作,需要谨慎): 1. 查看当前字符集: ```sql SELECT userenv('language') FROM dual; ``` 2. 修改字符集(需要重启数据库到受限模式): ```sql 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; ALTER DATABASE CHARACTER SET INTERNAL_USE AL32UTF8; -- 修改为UTF8 SHUTDOWN IMMEDIATE; STARTUP; ``` 五、安装过程中图形界面乱码 如果是在运行`runInstaller`时出现图形界面乱码,可以尝试: 1. 在运行安装程序前设置语言为英文: ```bash export LANG=en_US.UTF-8 ./runInstaller ``` 2. 如果安装界面出现方块乱码,可能是缺少字体,可以安装前面提到的中文字体或者使用英文环境。 六、日志文件位置 安装日志的位置通常在`$ORACLE_BASE/oraInventory/logs`和`$ORACLE_HOME/install`目录下,可以查看日志以获取更多错误信息。 七、使用预安装包(参考引用[1]和[2]) 使用Oracle提供的预安装包(如`oracle-database-preinstall-19c`)可以自动配置系统内核参数、创建用户和组等,减少安装中的问题。安装方法: ```bash # CentOS 7 sudo yum localinstall -y oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm # Rocky Linux 8 / Oracle Linux 8 sudo yum localinstall -y https://yum.oracle.com/repo/OracleLinux/OL8/appstream/x86_64/getPackage/oracle-database-preinstall-19c-1.0-1.el8.x86_64.rpm ``` 八、其他注意事项 1. 确保安装过程中使用英文环境,避免不必要的乱码。 2. 如果使用远程安装(如通过X11转发),确保本地和远程的字符集设置一致。 总结步骤: 1. 设置系统语言环境为en_US.UTF-8。 2. 安装rlwrap解决sqlplus的上下左右键乱码问题。 3. 安装中文字体(如果需要中文显示)。 4. 使用预安装包简化安装过程。 5. 在安装Oracle时选择正确的字符集(AL32UTF8)。 如果按照以上步骤仍然不能解决乱码问题,请提供具体的乱码现象(例如是安装界面乱码还是sqlplus中命令回显乱码)和操作系统版本,以便进一步分析。 相关问题: 1. 如何在Linux中永久修改系统语言环境? 2. Oracle数据库字符集有哪些?如何正确选择? 3. 如何修改已安装的Oracle数据库字符集? 4. 在Linux中如何安装和管理字体? 5. 使用rlwrap时出现“command not found”错误怎么办?</think>### 解决 Linux 安装 Oracle 19c 乱码问题 #### 核心原因分析 1. **语言环境冲突**:系统默认语言与 Oracle 安装程序不兼容 2. **字符集缺失**:缺少必要的中文字体支持 3. **终端配置问题**:SQL*Plus 等工具未正确配置输入输出编码 --- ### 一、系统级解决方案 #### 1. 强制设置英文语言环境(推荐) ```bash # 临时生效(当前会话) export LANG=en_US.UTF-8 export LC_ALL=en_US.UTF-8 # 永久生效(添加至oracle用户配置文件) echo "export LANG=en_US.UTF-8" >> ~/.bashrc echo "export LC_ALL=en_US.UTF-8" >> ~/.bashrc source ~/.bashrc ``` #### 2. 安装中文字体支持 ```bash # CentOS/RHEL/Rocky Linux sudo yum install -y cjkuni-ukai-fonts cjkuni-uming-fonts # Ubuntu/Debian sudo apt install -y fonts-arphic-ukai fonts-arphic-uming ``` #### 3. 重建字体缓存 ```bash sudo fc-cache -fv ``` --- ### 二、Oracle 安装时乱码处理 #### 1. 运行安装程序前设置环境 ```bash # 切换到oracle用户 su - oracle # 设置显示和语言 export DISPLAY=:0.0 export LANG=en_US.UTF-8 # 启动安装程序 cd /u01/app/oracle/product/19.3.0/dbhome_1 ./runInstaller ``` #### 2. 使用预安装包(预防性措施) ```bash # Rocky Linux/Oracle Linux 8 sudo yum localinstall -y https://yum.oracle.com/repo/OracleLinux/OL8/appstream/x86_64/getPackage/oracle-database-preinstall-19c-1.0-1.el8.x86_64.rpm ``` > 该包会自动创建用户组、配置内核参数等[^2] --- ### 三、SQL*Plus 乱码解决方案 #### 1. 安装 rlwrap 工具 ```bash # CentOS/RHEL sudo yum install -y rlwrap # Ubuntu/Debian sudo apt install -y rlwrap ``` #### 2. 创建别名(解决方向键乱码) ```bash echo "alias sqlplus='rlwrap sqlplus'" >> ~/.bashrc echo "alias rman='rlwrap rman'" >> ~/.bashrc source ~/.bashrc ``` #### 3. 修改 NLS_LANG 设置 ```bash # 在 ~/.bashrc 添加 echo "export NLS_LANG=AMERICAN_AMERICA.AL32UTF8" >> ~/.bashrc source ~/.bashrc ``` --- ### 四、数据库字符集配置 #### 1. 创建数据库时指定字符集 ```sql CREATE DATABASE ... CHARACTER SET AL32UTF8 NATIONAL CHARACTER SET AL16UTF16; ``` #### 2. 修改现有数据库字符集 ```sql SHUTDOWN IMMEDIATE; STARTUP MOUNT; ALTER SYSTEM ENABLE RESTRICTED SESSION; ALTER DATABASE CHARACTER SET INTERNAL_USE AL32UTF8; SHUTDOWN IMMEDIATE; STARTUP; ``` --- ### 五、验证与日志检查 ```bash # 检查语言环境 locale # 检查Oracle字符集 sqlplus / as sysdba SELECT * FROM nls_database_parameters WHERE parameter LIKE '%CHARACTERSET%'; # 查看安装日志 tail -f /u01/app/oraInventory/logs/install*.log ``` > 日志位置参考:`/u01/app/oraInventory/logs/`[^1] --- ### 六、备选方案 1. **静默安装**(避免图形界面问题): ```bash ./runInstaller -silent -responseFile /path/to/response.rsp ``` 2. **使用 VNC**: ```bash vncserver :1 -geometry 1920x1080 export DISPLAY=:1 ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值