作者larrywhy (坏)
看板Ruby
标题[问题] 关於 utf8编码 在网页显示的问题
时间Mon Jun 10 17:51:08 2013
环境: 1.9.2
状况: 在原本写死在terminal 的时候 可以正常显示
但是在网页显示的时候 会有问题。
状况如下:
-----------------------------------------------------------------
#先用此式抓取原始码 ,并且以UTF-8读入
codeString = open(url).read.encode!('UTF-8','UTF-8',:invalid =>:replace)
-
-
略(字串处理)
-
-
i = 0
while i < resultData.size do
puts resultData[i].to_s
i = i + 1
end
================================================
结果如下图: (里面可以显示出 简体中文)
http://ppt.cc/SXCU
-----------------------------------------------------------------------
可是如果用 (CGI输出 )html (程式码前後加上HTML 语法)
结果如下图:
http://ppt.cc/zzny
会显示成unicdoe 的样子...
我有试过用unescape 也是没办法.....
照理讲在terminal里面可以"正常显示" ,为什麽在html上是无法显示的呢?
(browser已经设定成utf-8 , 然後输出html的时候 header也有设定content : utf8)
但是输出仍是以unicode 显示 。
有试过输出成xml ,也是不行(藉由http或是browser 树状显示)->会显示unicode
但是如果是以写档方式 (意即在terminal )就可以正常显示。
查过很多方法了都不行,麻烦了 谢谢!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.123.102.72
1F:→ evanc3:有试过加 <meta charset="utf-8"> 吗? 06/19 21:28
2F:→ larrywhy:试过了 後来发现是 server 会先经过编码 已解决 谢谢! 06/24 10:01