亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 3058 | 回復(fù): 8
打印 上一主題 下一主題

再次perl編碼轉(zhuǎn)換問題求解!! [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2011-02-17 16:36 |只看該作者 |倒序瀏覽
最近開始用perl,接觸到perl文字編碼的問題,看了不少資料
也做了不少測試,可是還是不能理解編碼轉(zhuǎn)換的實(shí)質(zhì)。具體問題看
下面的小例子:
Utf轉(zhuǎn)gb2312的方法:

use Encode;
my $str = "utf8中文";
print $str."\n";          #打印出亂碼(可以理解)
$str_cnsoftware = encode("gb2312", decode("utf-8", $str);
print $str_cnsoftware ."\n";    #打印正常中文

這個測試把源碼文件保存為utf-8格式就能運(yùn)行正常,但是 $str 如果是從
其他文件獲取來的,那打印的結(jié)果就不正常了,比如我把“utf中文”
存儲在編碼格式為utf-8的a.txt文件然后去讀取這個文件,代碼如下:

open(MYFILE,"<D:/a.txt") or die "error!";
$str = <MYFILE>;
print $str."\n";                      #打印亂碼
$str_cnsoftware = encode("gb2312", decode("utf-8", $str);
print $str_cnsoftware ."\n";    #依舊是打印亂碼

這點(diǎn)測試和上一點(diǎn)的區(qū)別就是$str字符串的來源,上一個就是源碼文件(保存為utf-8格式)
里的,本次來源于讀取保存為utf-8格式的txt文件,為什么從外部文件讀取
的中文字符串無法轉(zhuǎn)換編碼(或者是轉(zhuǎn)換錯誤...)為什么差別就這么大呢?
很是不理解~~~~ 囧得有點(diǎn)郁悶了
真誠向各位大哥大姐求教。!

補(bǔ)充下:環(huán)境:xp dos窗口 activeperl5.8.8

論壇徽章:
46
15-16賽季CBA聯(lián)賽之四川
日期:2018-03-27 11:59:132015年亞洲杯之沙特阿拉伯
日期:2015-04-11 17:31:45天蝎座
日期:2015-03-25 16:56:49雙魚座
日期:2015-03-25 16:56:30摩羯座
日期:2015-03-25 16:56:09巳蛇
日期:2015-03-25 16:55:30卯兔
日期:2015-03-25 16:54:29子鼠
日期:2015-03-25 16:53:59申猴
日期:2015-03-25 16:53:29寅虎
日期:2015-03-25 16:52:29羊年新春福章
日期:2015-03-25 16:51:212015亞冠之布里斯班獅吼
日期:2015-07-13 10:44:56
2 [報告]
發(fā)表于 2011-02-17 16:45 |只看該作者
編碼問題你右上角搜索,本版很多

論壇徽章:
0
3 [報告]
發(fā)表于 2011-02-17 19:24 |只看該作者
你那個a.txt是不是用的不是UTF-8保存的,我試了下沒出現(xiàn)你那問題

論壇徽章:
0
4 [報告]
發(fā)表于 2011-02-18 09:32 |只看該作者
回復(fù) 3# qinglangee


    我非常確定我保存的格式就是utf-8的,請問你的環(huán)境是什么呢

論壇徽章:
0
5 [報告]
發(fā)表于 2011-02-18 10:54 |只看該作者
回復(fù) 4# kitsilence
也是XP,命令窗口運(yùn)行的
utf-8保存1亂2不亂,換成本地編碼保存a.txt就是第一個不亂碼,第二個亂碼

論壇徽章:
0
6 [報告]
發(fā)表于 2011-02-18 13:16 |只看該作者
編碼問題很復(fù)雜,與各種環(huán)境有關(guān),輸入輸出終端文件等。環(huán)境不同,基本沒人能解答你的問題,自己多試。

論壇徽章:
0
7 [報告]
發(fā)表于 2011-02-18 14:37 |只看該作者
回復(fù) 6# 蘭花仙子


    受教了!我裝了個cygwin,在上面運(yùn)行perl編碼轉(zhuǎn)換確實(shí)和xp的有些不一樣,雖然根本問題還是沒有解決,還是要謝謝斑竹指點(diǎn)!

論壇徽章:
0
8 [報告]
發(fā)表于 2011-02-18 14:41 |只看該作者
回復(fù) 2# zhlong8


    這個問題其實(shí)何止本版很多呢,其他論壇也很多啊!

   我就是查看了很多完了自己的測試跟到處公認(rèn)的結(jié)論不一樣才郁悶的

論壇徽章:
0
9 [報告]
發(fā)表于 2011-02-18 14:49 |只看該作者
回復(fù) 5# qinglangee


    通過你的答案和斑竹的提示,我表示理解深一點(diǎn)了,但也表示有點(diǎn)無奈!
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP