我的编程空间,编程开发者的网络收藏夹
学习永远不晚

如何解决Ubuntu下NetBeans中文乱码及方框问题

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

如何解决Ubuntu下NetBeans中文乱码及方框问题

本篇内容主要讲解“如何解决Ubuntu下NetBeans中文乱码及方框问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何解决Ubuntu下NetBeans中文乱码及方框问题”吧!

当我在ubuntu 11.04中安装netbeans 7.0的时候,出现一个奇怪的现象,启动netbeans中,发现很多中文字无法显示,直接显示一个方框。很显然是没有找到某些字的显示数据,但是奇怪的是有些汉字可以显示,真神奇,难道netbeans所用到的字库居然不全吗?

而 ubuntu可以正常显示汉字,说明ubuntu本身的字库应该是没问题到。那么问题出在什么地方呢?

答案是:JRE

netbean是用java写的,它的运行是必须要依靠JRE的,这个大家都知道。而JRE使用的字体是依靠JRE本身的配置文件来决定在系统中和什么字体文件对应的。

因此判定是这种对应出了问题。

根据Java的官方文档(http://download.oracle.com/javase/1.5.0/docs/guide/intl/fontconfig.html#loading),字体对应配置文件是位于jre/lib下面,有两种形式,一种是class="lazy" data-src文件,一种是bfc文件。bfc文件是二进制的,系统预定义的,所以我们需要修改的是class="lazy" data-src文件,到这个目录,一看,如下图:

如何解决Ubuntu下NetBeans中文乱码及方框问题

看到这些文件名,基本也明白了个大概。看看fontconfig.OS.version.properties.class="lazy" data-src这种格式就应该明白,这是不同操作系统平台的配置文件,jre会根据操作系统的不同而自动选择对应的配置文件,因此,我打开了ubuntu 的对应文件,看第一行:

代码如下:

allfonts.chinese-cn-iso10646=-arphic-ar pl uming cn-light-r-normal--*-%d-*-*-c-*-iso10646-1

这里指定了jre用到逻辑字体和物理字体的对应关系,等号左边就是jre用的逻辑字体,而等号右边就是需要使用的物理字体了。

只是这个物理字体看起来跟火星文差不多,但是这个火星文可是正宗的X logical font description (XLFD)描述方式,这里不多说了,想了解的读者可以自己去google一下即可。

然后再看配置文件# Font File Names部分,其中有一行:

代码如下:

filename.-arphic-ar_pl_uming_cn-light-r-normal--*-%d-*-*-c-*-iso10646-1=/usr/share/fonts/truetype/arphic/uming.ttc

这是上面描述的物理字体和系统字体文件的对应描述。

左边不就是上面我们看着像火星文的物理字体名称吗?正好不知道哪儿去找这个字体,这下不就有答案了。连目录都告诉你了。

立刻跑到/usr/share/fonts/truetype目录去一看,不要说uming.ttc,连arphic这个目录都没有!

这下就面临两个选择:

修改配置文件,让他指向系统有的字体文件。

也就是修改:/usr/share/fonts/truetype/arphic/uming.ttc这部分,修改成存在的字体文件名称即可。

安装一个uming.tcc字体文件。

由于uming.tcc字体是比较有名的,是一个高质量的中文字库。因此我还是决定选择第二种方案。

到网上一goole,立刻找到了下载地址:http://ftp.br.debian.org/debian/pool/main/t/ttf-arphic-uming/ttf-arphic-uming_0.2.20080216.1-3_all.deb

下载回来之后:sudo dpkg -i ttf-arphic-uming_0.2.20080216.1-3_all.deb

安装顺利完成,这个时候再跑到/usr/share/fonts/truetype目录去一看,这下有arphic这个目录了,然后打开目录一看,uming.ttc就在那里!

马上打开netbeans,漫长的等待,终于看到了窗口,一切都有了,字体看着确实很美,不愧是arphic 产品啊。

自此问题完美的解决了,不管版本如何变化,都可以按照这个方式去解决问题。

网上一些文章说的cp字体到jre/lib/fonts/fallback,很多人不懂原理。fallback的目录是jre字体后备目录,意思就是按照正常配置找不到字体信息,就会在这个目录下按照配置文件设定的顺序到字体文件中去寻找。用这个方式有两个问题,一个是效率低下。二是字体不统一,会出现例如:文件这个词,文是楷体,件是黑体的“壮观”景象!为什么?因为文字在楷体字库找到了,但是这个字库找不到件字,于是就在fallback中到黑体字库去找,并且找到。这种现象就神奇的出现了!

所以这个方式其实是属于歪打正着的方法,很多人糊里糊涂显示正常了,也没有搞懂原理。而另外一些人就会出现字体不统一到情况。

当然,上面所说的一切,在windows上均不会发生。因为windows比较统一,所以配置文件的配置一定可以正常工作,不会出现类似linux的连字体文件都可能找不到的情况。这也证明了规范,统一在软件中的重要性。

到此,相信大家对“如何解决Ubuntu下NetBeans中文乱码及方框问题”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

如何解决Ubuntu下NetBeans中文乱码及方框问题

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

如何解决Ubuntu下NetBeans中文乱码及方框问题

本篇内容主要讲解“如何解决Ubuntu下NetBeans中文乱码及方框问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何解决Ubuntu下NetBeans中文乱码及方框问题”吧!当我在ubu
2023-06-13

Ubuntu下安装JDK、netbeans及netbeans中文乱码怎么解决

这篇文章主要讲解了“Ubuntu下安装JDK、netbeans及netbeans中文乱码怎么解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Ubuntu下安装JDK、netbeans及ne
2023-06-13

Ubuntu下gedit中文乱码问题的解决方法

本篇内容主要讲解“Ubuntu下gedit中文乱码问题的解决方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Ubuntu下gedit中文乱码问题的解决方法”吧!gedit中文乱码问题解决,wi
2023-06-13

如何解决Ubuntu系统下zend for linux中文乱码问题

这篇文章主要讲解了“如何解决Ubuntu系统下zend for linux中文乱码问题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何解决Ubuntu系统下zend for linux中文
2023-06-13

ubuntu下命令行中文乱码问题的解决方案

这篇文章主要介绍“ubuntu下命令行中文乱码问题的解决方案”,在日常操作中,相信很多人在ubuntu下命令行中文乱码问题的解决方案问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”ubuntu下命令行中文乱码问
2023-06-13

如何解决ubuntu系统下vimtutor乱码问题

这篇文章主要讲解了“如何解决ubuntu系统下vimtutor乱码问题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何解决ubuntu系统下vimtutor乱码问题”吧!ubuntu自带的
2023-06-13

ubuntu系统下gedit出现中文乱码的问题如何解决

这篇文章主要讲解了“ubuntu系统下gedit出现中文乱码的问题如何解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“ubuntu系统下gedit出现中文乱码的问题如何解决”吧!ubunt
2023-06-13

ubuntu rhythmbox乱码问题如何解决

本篇内容介绍了“ubuntu rhythmbox乱码问题如何解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!有时候看着下面这幅图,真的好想
2023-06-13

如何解决 Ubuntu 中文乱码问题——文本、MP3和Rar压缩文件及aMule

由于 Linux 中默认使用的编码是 UTF-8,与 Windows 的默认中文编码不同,因此在使用中会出现中文乱码问题。下面我们一起来看如何解决 Ubuntu 11.04 的一些中文乱码问题。 1. 解决文本乱码问题 Ubuntu 11.
2022-06-03

MYSQL中文乱码问题如何解决

这篇文章主要介绍了MYSQL中文乱码问题如何解决的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇MYSQL中文乱码问题如何解决文章都会有所收获,下面我们一起来看看吧。一、乱码的原因:1、 client客户端的编码
2023-07-02

php.ini如何解决中文乱码问题

本篇内容主要讲解“php.ini如何解决中文乱码问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php.ini如何解决中文乱码问题”吧!php.ini解决中文乱码的方法:首先打开php.ini
2023-06-20

mysql5.5中文乱码问题如何解决

本篇内容介绍了“mysql5.5中文乱码问题如何解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!查看MySQL的字符集show varia
2023-06-30

php如何解决中文乱码问题

小编给大家分享一下php如何解决中文乱码问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!php解决中文乱码的方法:1、在head标签里面加入UTF8编码;2、在
2023-06-07

python如何解决中文编码乱码问题

小编给大家分享一下python如何解决中文编码乱码问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、什么是字符编码。要彻底解决字符编码的问题就不能不去了解到底
2023-06-25

如何解决php xmlhttprequest 中文乱码问题

解决PHPXMLHttpRequest传输中文乱码的解决方案:设置正确的Content-Type标头,如application/xml;charset=UTF-8。使用mb_convert_encoding编码发送的数据。使用responseText获取原始数据。使用DOMDocument或JSON.parse解析数据。解码数据为UTF-8。确保数据库、脚本、文本编辑器和HTML页面都使用UTF-8编码。
如何解决php xmlhttprequest 中文乱码问题
2024-04-25

如何解决php gd中文乱码问题

php gd中文乱码的解决办法:1、打开相应的PHP代码文件;2、通过GD库输出中文字符串时,使用imagettftext()函数即可解决乱码问题。
2019-04-17

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录