`
gjhappyyy
  • 浏览: 259530 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

UnicodeBlock(解决中文中方块乱码)

    博客分类:
  • java
 
阅读更多

今天测试android端请求应用详情,并显示时,发现有空方块乱码。有高人对此做了解释,可以通过UnicodeBlock设置显示Unicode 规范中字符块中的哪些字符。

代码如下:

	public void setAppAbstract(String info){
		StringBuffer tmp = new StringBuffer() ;
		for(char cc : info.toCharArray()){
			tmp.append(switchChar(cc));
		}
		info = tmp.toString().replaceAll("\r", "").replaceAll("\t", "    ").replaceAll("\b", " ").replaceAll("\f", "");
		infoView.setText(info);
	}
	
	private char switchChar(char source){
		UnicodeBlock ub = Character.UnicodeBlock.of(source);
		if(Arrays.asList(ubs).contains(ub)){
			return source ;
		}
		return ' ';
	}
	
	private static final UnicodeBlock[] ubs = new UnicodeBlock[]{
		UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS,
		UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION,
		UnicodeBlock.BASIC_LATIN,
		UnicodeBlock.LATIN_1_SUPPLEMENT,
		UnicodeBlock.LATIN_EXTENDED_A,
		UnicodeBlock.LATIN_EXTENDED_B,
		UnicodeBlock.KATAKANA,
		UnicodeBlock.HIRAGANA,
		UnicodeBlock.BOPOMOFO
		};
	

  

果然方块的乱码没有啦。

UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS:CJK 统一表意符号 
UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION:CJK 符号和标点 

CJK的意思是“Chinese,Japanese,Korea”的简写 ,实际上就是指中日韩三国的象形文字的Unicode编码 

下面的四个是显示拉丁字符

UnicodeBlock.BASIC_LATIN,
UnicodeBlock.LATIN_1_SUPPLEMENT,
UnicodeBlock.LATIN_EXTENDED_A,
UnicodeBlock.LATIN_EXTENDED_B,

下面两个是显示日语中的平假名和片假名

UnicodeBlock.KATAKANA,
UnicodeBlock.HIRAGANA,


UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS :半角及全角形式

分享到:
评论
2 楼 yzb808 2016-06-24  
Arrays.asList(ubs)在每次调用switchChar方法的时候都会执行一次,效率低且没必要。
1 楼 gjhappyyy 2012-05-23  
这个在不断工作工程中发现还有另外一种方式。editText.setTransformationMethod(PasswordTransformationMethod.getInstance())

相关推荐

    Ubuntu Server环境下中文乱码之显示方块.docx

    在这个文件中,我们将讨论 Ubuntu Server 环境下中文乱码之显示方块的问题,并提供相应的解决方案。 问题描述 在 Ubuntu Server 环境下安装桌面环境和浏览器时,中文字符可能无法正确显示,显示为方块(□)或乱码...

    解决LINUX LITE方块乱码的中文字体

    1.安装locales并配置 sudo apt-get install locales sudo dpkg-reconfigure locales ...5.安装中文字体 sudo apt-get install fonts-wqy-zenhei 如果下载失败, 可以试试附件已下载好的字体或DEB包,然后本地安装。

    处理linux java图片中文字显示方块乱码

    java——图片字体显示方块问题处理 /usr/java/jdk1.7.0_80/jre/lib/fonts/fallback msyhbd.ttf msyh.ttf wqy-microhei.ttf /usr/java/jdk1.7.0_80/lib/fonts/fallback msyhbd.ttf msyh.ttf wqy-microhei.ttf

    Linux解决firefox中文页面乱码问题

    因此可以取消允许页面自己选择字体这个选项便能解决部分乱码情况。  2.倘若还有乱码,以及其他应用程序乱码,则尝试如下解决方案。  简单暴力的方法是直接去掉默认配置文件。  1 $ sudo mv /etc/fonts/...

    C# 将中文乱码转换成中文

    本文将深入探讨如何使用C#语言解决中文乱码问题,将乱码文本正确转换为可读的中文。 ### 核心知识点:字符编码与转换 #### 1. 字符编码概念 字符编码是计算机用于存储、传输和显示文字的一套规则,它将字符映射到...

    往图片写汉字显示乱码

    然而,在实际操作过程中,可能会遇到一个常见的问题:汉字显示为方块乱码。这个问题通常是由于字体文件不支持或者没有正确加载导致的。下面我们将深入探讨如何使用`Graphics2D`类向图片写汉字,以及如何解决汉字乱码...

    在DELPHI中使用MyDAC连接MySQL数据库时中文显示乱码的解决方法

    ### 在DELPHI中使用MyDAC连接MySQL数据库时中文显示乱码的解决方法 #### 背景介绍 在软件开发过程中,特别是涉及到多语言环境的应用程序开发时,字符编码问题常常成为开发者需要解决的一个重要问题。对于使用...

    Linux下Chrome标题栏中文乱码的解决办法.docx

    "Linux下Chrome标题栏中文乱码的解决办法" 知识点1: Linux系统下Chrome浏览器标题栏中文乱码问题 Linux系统下,使用Chrome浏览器时,可能会遇到标题栏中文乱码问题。这种问题的出现可能是由于系统中安装的某个软件...

    解决Oracle12C安装中文乱码包

    12C在Linux上中文安装是乱码,将此包下载拷贝到安装文件\database\stage\Components\oracle.jdk\1.6.0.75.0\1\DataFile目录下,替换以前文件即可。

    Zxing生成二维码(解决中文乱码)

    这是Zxing的源码,没有打包成jar利于学习使用。...使用时注意path的默认地址,Main类中是生成二维码的代码,GetMain类中是读取二维码的代码。 eclipse中Ctrl+Shift+R快速查找类 希望对你有所帮助。

    win11、win10中文文件名称乱码(菱形黑框问号)解决方案.docx

    通过上述步骤,大多数用户应该能够有效解决Win11和Win10系统中出现的中文文件名乱码问题。对于更复杂的情况,建议进一步检查文件编码或咨询专业人士进行协助。希望本文提供的方法能帮助大家顺利解决遇到的相关问题。

    idea中文方块问题.

    具体表现为:原本应该正常显示的中文字符在Idea界面上被替换成了方块或乱码。这种情况不仅影响阅读体验,还可能对代码编写和调试带来不便。 #### 二、问题分析 此类问题通常由字体设置不当引起。虽然在Windows系统...

    ORACLE安装界面中文字体(解决ORACLE中文安装方框乱码)

    解决ORACLE安装界面中文乱码, 可以安装本字体; 安装方法, 将文件解压出来, copy到 /usr/share/fonts/zh_CN/TrueType/ 下, 如果没有该目录, 就自己创建 mkdir -p /usr/share/fonts/zh_CN/TrueType/

    JFreechart 在linux下不显示及中文乱码问题

    `zysong.ttf` 文件可能是一个包含中文字符的TrueType字体文件,可以尝试在JFreechart中加载这个字体以解决乱码问题。 **解决方案** 1. **检查Java版本**:确认Java版本与JFreechart兼容,并更新到最新稳定版本。 ...

    Linux下的JFreeChart中文乱码口口解决

    这个文件可以用来解决JFreeChart在Linux下显示中文乱码的问题。 解决步骤如下: 1. **安装字体**:首先,你需要将“simsun.ttc”字体文件安装到你的Linux系统中。这通常涉及到将字体文件复制到系统的字体目录...

    润乾报表乱码问题

    在信息技术领域,乱码问题是指字符在计算机中由于编码不一致或者不正确而导致的显示错误,通常表现为无法识别的特殊符号或者乱糟糟的方块。润乾报表乱码问题尤其令人头疼,因为它影响了数据的显示和传输,尤其是对于...

    Ubuntu 安装Wine 显示方块字体 如:□ □ □ [解决]

    在Ubuntu系统中安装Wine以运行Windows应用程序时,可能会遇到显示方块字体的问题,例如"□ □ □"。这种现象通常是由于字体兼容性问题或者缺少必要的Windows字体导致的。Wine是一款开源软件,它在Linux环境下模拟...

    matplotlib中文乱码的两种解决方案.docx

    Matplotlib中文乱码的两种解决方案 Matplotlib是Python中一个非常流行的数据可视化库,但是在使用Matplotlib时,经常会遇到中文乱码问题。本文将介绍两种解决Matplotlib中文乱码的方法。 解决方法一:通过代码解决...

    JSP乱码解决方案

    JSP乱码通常发生在字符编码不一致或者处理不当的情况下,这会影响用户界面的显示,导致文字显示为不可读的方块或者特殊字符。本文将深入探讨JSP乱码的原因及其解决方案,帮助开发者有效地处理这类问题。 ### 1. JSP...

    C#俄罗斯方块(多国语言完美版)

    总的来说,“C#俄罗斯方块(多国语言完美版)”项目展示了C#在游戏开发中的应用,尤其是对于UI设计和多语言支持的处理。开发者通过巧妙的编程技巧,将一个经典的街机游戏以现代化的方式呈现,既保留了游戏的原有魅力,...

Global site tag (gtag.js) - Google Analytics