Chinaunix

标题: 有个特殊的汉字不能使用,赋值都不能,求解 [打印本页]

作者: 白水    时间: 2011-09-23 14:25
标题: 有个特殊的汉字不能使用,赋值都不能,求解
遇到个奇怪的问题,有个特殊的汉字不能使用,赋值都不能。

这个字是“黒”,注意,他不是我们以为的“黑”字,用放大镜能看出区别。
在utraedit中看编码,两个字是完全不同的。

更糟糕的是,连赋值语句都报错:
$a="黒";

模式匹配也报错:
$a=~s/黒/黑/g;

注意“黒”不是“黑”,前一个请copy出来用,后一个就是通常打字的就可以出来,前一个不能用,后一个是能正常用的。

我的问题就是怎么能把前一个不正常的字,替换成后一个正常的字。
作者: ziyunfei    时间: 2011-09-23 14:42
http://bbs.chinaunix.net/viewthread.php?tid=3576806
作者: Kitaisky    时间: 2011-09-23 15:07
本帖最后由 Kitaisky 于 2011-09-23 16:02 编辑

#'黒' = \u9ED2 ;

$a = pack("U", hex("9ED2"));

print $a, "\n";

$a=~s/\x{9ED2}/黑/g;
作者: 白水    时间: 2011-09-23 16:01
谢谢,可以了,不知道有没有什么办法把这些繁体字转成简体啊

玕璡誠。。。
作者: Kitaisky    时间: 2011-09-23 16:11
谢谢,可以了,不知道有没有什么办法把这些繁体字转成简体啊

玕璡誠。。。
白水 发表于 2011-09-23 16:01


去用唐凤mm的魔块

http://search.cpan.org/~audreyt/ ... ncode/HanConvert.pm




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2