码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2016-03-28 17:01:57      阅读:661      评论:0      收藏:0      [点我收藏+]

标签:

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,(请参考)修改后如下所示:

1 #ifndef    JUCE_USE_DIRECTWRITE
2     #define JUCE_USE_DIRECTWRITE 0
3 #endif

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

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

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

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

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

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

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

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

标签:

原文地址:http://www.cnblogs.com/wanghaiyang1930/p/5329568.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!