JUCE 界面库显示中文乱码问题

环境:
  Windows7 64位 旗舰版
  Visual Studio Ultimate 2012
  JUCE 4.1

问题描述:
  直接使用juce::String存储中文(String str="中文"),运行过程中报错,提示需要指定具体的编码类型,由于CharPointer_ASCII只能处理编码在127以下的字符,所以CharPointer_ASCII不能处理中文,而使用CharPointer_UTF8将UTF8编码的字符串转给String,但是显示到界面上却是乱码,由此出现了JUCE中文乱码的问题。

解决办法:

  1.修改JUCE工程的AppConfig.h中的JUCE_USE_DIRECTWRITE,(请参考)修改后如下所示:

 #ifndef    JUCE_USE_DIRECTWRITE
#define JUCE_USE_DIRECTWRITE 0
#endif

  2.在主应用程序的initialise函数中添加如下代码:
    如:继承自JUCEApplication的子类的initialise()函数的开始:

LookAndFeel &laf = LookAndFeel::getDefaultLookAndFeel();
laf.setDefaultSansSerifTypefaceName( "YeHei Consolas Hybrid" );

    其中"YeHei Consolas Hybrid"字符串来自于[c:windows/fonts]目录下的字体类型名称,去掉后面的空格和“常规”;

  3.在需要使用中文字符的地方使用如下代码:

 juce::String str( juce::CharPointer_UTF8("\xe4\xb8\xad\xe6\x96\x87") );

  其中"\xe4\xb8\xad\xe6\x96\x87"字符串就是多字节下"中文"转换成UTF8编码的的编码。

版权所有,转载请注明出处!

JUCE 界面库显示中文乱码问题的更多相关文章

  1. SSH Secure Shell Client连接Linux 命令行显示中文乱码问题 和oracle 查询数据中文乱码问题

    一.SSH Secure Shell Client连接Linux 命令行显示中文乱码问题 linux 设置系统语言 修改 /etc/sysconfig/i18n 文件,如 LANG="en_ ...

  2. 基于Windows环境下cmd/编译器无法输入中文,显示中文乱码解决方案

    基于Windows环境下cmd/编译器无法输入中文,显示中文乱码解决方案 两个月前做C++课设的时候,电脑编译器编译结果出现了中文乱码,寻求了百度和大神们,都没有解决这个问题,百度上一堆解释是对编译器 ...

  3. XFTP连接主机文件名显示中文乱码且不能下载的解决方法

    Xftp连接主机文件名显示中文乱码且不能下载的本地解决方法 原因:Xftp编码格式问题 解决方法:把Xftp的编码格式增加UTF-8 具体步骤:打开Xftp,文件-属性,在打开的属性界面中打开&quo ...

  4. 转:jsp页面显示中文乱码解决方案

    jsp页面显示中文乱码: jsp页面的编码方式有两个地方需要设置: <%@ page language="java" import="java.util.*&quo ...

  5. Phantomjs 在cmd命令行显示中文乱码

    cmd命令行窗口显示中文乱码 cmd中文支持gbk编码 在js执行文件中加上(一般在最开始加) phantom.outputEncoding="gbk"; 这样乱码就正确了

  6. Win 7英文系统显示中文乱码的解决(转)

    Win 7英文系统显示中文乱码的解决http://www.enet.com.cn/article/2011/0811/A20110811896633.shtml 请点击Startmenu并点击Cont ...

  7. XShell连接 Linux系统,显示中文乱码

    摘要: Linux系统,中文显示乱码 XShell是一个强大的安全终端模拟软件,它支持SSH1, SSH2及 Microsoft Windows平台的Telnet NetSarang Xshell 4 ...

  8. 解决Linux文档显示中文乱码问题以及编码转换

    解决Linux文档显示中文乱码问题以及编码转换 解决Linux文档显示中文乱码问题以及编码转换 使vi支持GBK编码 由于Windows下默认编码是GBK,而linux下的默认编码是UTF-8,所以打 ...

  9. 两种解决Qt5显示中文乱码的方法(使用QStringLiteral和#pragma execution_character_set("utf-8")两种方法)

    升级到Qt5.X之后,原先解决的Qt显示中文乱码的方法突然不适用了,找了很多方式来解决这个问题第一种:在公司代码里看到的方法,先将对应的cpp文件用windows自带的记事本打开,另存为UTF-8格式 ...

随机推荐

  1. Spring Boot中的注解

    文章来源:http://www.tuicool.com/articles/bQnMra 在Spring Boot中几乎可以完全弃用xml配置文件,本文的主题是分析常用的注解. Spring最开始是为了 ...

  2. Dependency Scope

    Dependency Scope <dependency>中还引入了<scope>,它主要管理依赖的部署.目前<scope>可以使用5个值: * compile,缺 ...

  3. Listview中显示不同的视图布局

    import java.util.ArrayList; import android.app.Activity;import android.content.Context;import androi ...

  4. rocksDB 安装问题简单介绍

    前一段时间准备测试rocksdb,按照帖子和官网的例子,在安装过程中遇到一些问题.这里给出的是在Ubuntu下安装python使用的版本. 首先,要感谢这些帖子对我的帮助: 1:http://tech ...

  5. jQuery动画连续触发、滞后反复执行解决办法

    jQuery中slideUp .slideDown.animate等动画运用时,如果目标元素是被外部事件驱动, 当鼠标快速地连续触发外部元素事件, 动画会滞后的反复执行,其表现不雅. 则解决办法: 1 ...

  6. AX多线程编译

    1.在命令行里先定位到AOS sever的BIN文件夹下(CD "AOS sever的BIN路径") CD C:\Program Files\Microsoft Dynamics ...

  7. iOS 7.1耗电严重解决办法

    自从iOS 7.1正式版发布以来,三天后的升级率就已经达到17.9%,预计一周后升级率能突破40%.但是也有不少用户在苹果官方支持论坛上抱怨iOS 7.1系统耗电严重. 名为PJS2006的iPhon ...

  8. java之并发编程:Lock

    这是转的:http://www.cnblogs.com/dolphin0520/p/3923167.html * 在多线程编程里面一个重要的概念是锁定,如果一个资源是多个线程共享的,为了保证数据的完整 ...

  9. iOS学习之判断是否有网络的方法

    在实际开发中, 会有这样一个需求: 用户在有网的状态下会直接从网络请求数据, 在没网的情况下直接从本地读取数据. 下边的方法可以判断是否有网络. - (BOOL)connectedToNetwork ...

  10. Spark相关错误汇总

    前面介绍了Spark开发环境的搭建,下面将在实际开发过程中遇到的一些问题汇总一下: 1.Exception in thread "main" com.typesafe.config ...