Linux下中文变问号的解决办法

【现象】

编写的java程序使用System.out.println();输出中文时,在linux系统下中文变成了问号。

 

【原因】

该linux系统中没有指定LANG系统属性,默认的语言设置中不支持中文。

 

【解决办法】

在执行java命令行之前,先执行一条命令指定当前shell中的语言设置:

export LANG=zh_CN.gb18030

 

Linux下,当使用PL SQL Developer查询结果中的中文变成了一堆问号,或者SQL语句中的中文被提示为invalid character时,可能是由于字符集设置不正确导致的。你可以尝试以下方法来解决这个问题: 1. 确保数据库字符集设置正确:可以通过以下SQL语句来查看和修改数据库字符集: ```sql -- 查看数据库字符集 SELECT * FROM nls_database_parameters WHERE parameter = 'NLS_CHARACTERSET'; -- 修改数据库字符集(需要先备份数据库) ALTER DATABASE CHARACTER SET <character_set_name>; ``` 其中,`<character_set_name>`是你想要设置的字符集名称,例如AL32UTF8。 2. 确保PL SQL Developer的字符集设置正确:可以在PL SQL Developer的首选项中进行设置。依次点击"Tools" -> "Preferences" -> "Environment" -> "Fonts and Colors",然后选择正确的字符集。 3. 确保操作系统的字符集设置正确:可以通过以下命令来查看和修改操作系统的字符集: ```shell # 查看当前字符集 locale # 修改字符集(需要root权限) sudo dpkg-reconfigure locales ``` 在弹出的界面中选择正确的字符集,然后重启系统使设置生效。 4. 确保数据库和PL SQL Developer使用的字符集一致:可以在PL SQL Developer的连接配置中设置字符集,确保与数据库的字符集一致。 5. 如果以上方法都无效,可以尝试将查询结果导出为文件,然后用其他工具打开查看,看是否能正确显示中文字符。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值