首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有办法修复Perl Tk中代码点过高的问题?

有没有办法修复Perl Tk中代码点过高的问题?
EN

Stack Overflow用户
提问于 2011-01-22 21:25:36
回答 1查看 197关注 0票数 0

下面的代码演示了我的问题。运行它给我的错误信息是:“UCS-2LE:code point "\x{20541}”too high at C:/Perl/site/lib/Tk/Widget.pm line 205. at E:\test.pl line 9“。

我的Tk版本是804.028,在WinXP (简体中文版)上运行的是ActivePerl 10.0.0。

有没有人知道有没有办法绕过它?一如既往的感谢:)

代码语言:javascript
复制
use strict;use warnings;
use utf8;
use Tk;

my $mw = MainWindow->new;
my $text = ""; #A Chinese character

eval{
    $mw->Label(-text => $text)->pack;
};
warn $@ if $@;

MainLoop;
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-02-03 23:00:35

Tk目前不支持基本多语言平面以外的Unicode字符(例如,直到U+00FFFF)。虽然有一个解决这个问题的计划,但它需要在Tk代码中更改大量的东西(因为必须完成一个新的字符串管理层才能使事情变得高效,而且需要真正解决规范化问题),所以它不会被匆忙地处理。我相信,如果有人提供帮助来解决这个问题,那将是受欢迎的。

但是,如果您认为您的字符不应该在BMP之外(我不能从您的问题中分辨出来,很抱歉这么说),那么您的代码中就存在其他一些编码问题。诊断这种情况的一种方法是从Unicode charts获取值,因为它们是适当的完整和确定的,然后我们可以确保我们谈论的是同一件事。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4768049

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档