咖啡日语论坛

 找回密码
 注~册
搜索
查看: 1914|回复: 21

[疑难杂症] 将HTML中的内容转为JIS编码的方法

[复制链接]
发表于 2006-11-3 22:40:43 | 显示全部楼层 |阅读模式
如题,请教高手,如何将HTML中的内容转为JIS编码?
回复

使用道具 举报

 楼主| 发表于 2006-11-3 22:46:12 | 显示全部楼层
我试过emeditor,不过转换后显示的的都是乱码,而且在ebstudio里也不能用,
回复 支持 反对

使用道具 举报

发表于 2006-11-3 23:14:08 | 显示全部楼层
放到word里,再重新做一个HTML
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-11-4 02:31:46 | 显示全部楼层
原帖由 kazuky 于 2006-11-3 15:14 发表
放到word里,再重新做一个HTML

你能把步骤具体地说说吗?可以在这里留言或者PM我,先谢谢了!手头有些资料,想接下来抽空做成EBWIN用的辞典

[ 本帖最后由 kokuto 于 2006-11-3 18:39 编辑 ]
回复 支持 反对

使用道具 举报

发表于 2006-11-4 03:51:54 | 显示全部楼层
是什么编码的资料?
什么语言的OS?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-11-4 04:54:50 | 显示全部楼层
原帖由 kazuky 于 2006-11-3 19:51 发表
是什么编码的资料?
什么语言的OS?

我是中文操作系统,
手头有些平时积累的资料,想做成ebstudio可用的html格式,然后转到EBwin辞典中使用,
如果你有好的编码转换方式,还请多多指教啊
回复 支持 反对

使用道具 举报

发表于 2006-11-4 18:50:26 | 显示全部楼层
在word里编辑,保存为MHTML,再改为HTML。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-11-5 02:26:22 | 显示全部楼层
原帖由 kazuky 于 2006-11-4 10:50 发表
在word里编辑,保存为MHTML,再改为HTML。

你的意思是先在WORD里输入中文或者日文,然后另存为XXX.mht,然后再将另存后的XXX.mht后缀改为html后就可以用ebstudio转换了??
另,我想在html里插点图片,这样这种方法还行得通吗?
谢谢!!!!
回复 支持 反对

使用道具 举报

发表于 2006-11-5 02:31:15 | 显示全部楼层
原帖由 kokuto 于 2006-11-4 18:26 发表

你的意思是先在WORD里输入中文或者日文,然后另存为XXX.mht,然后再将另存后的XXX.mht后缀改为html后就可以用ebstudio转换了??
另,我想在html里插点图片,这样这种方法还行得通吗?
谢谢!!!!


如果不插图片的话,那样是可以的。。
图片的话需要放在另外的文件夹里,通过perl语言可以实现。
不过要看你的源文件而定。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-11-5 20:14:56 | 显示全部楼层
原帖由 kazuky 于 2006-11-4 18:31 发表


如果不插图片的话,那样是可以的。。
图片的话需要放在另外的文件夹里,通过perl语言可以实现。
不过要看你的源文件而定。

有些晕了,不知道perl语言是怎么实现的,不懂啊
回复 支持 反对

使用道具 举报

发表于 2006-11-5 21:15:31 | 显示全部楼层
需要一定的programming基础.
可以参考一下这个网站:http://www.perl.com/pub/q/documentation
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-11-6 00:11:46 | 显示全部楼层
建议kazuky 做个转码教程,这样我们就可以更方便地把手头资料制成ebwin辞典后拿到咖啡来共享了
回复 支持 反对

使用道具 举报

发表于 2006-11-6 00:58:49 | 显示全部楼层
因为每个字典的结构差别很大,所以转换方式也很大,所以code也不可能一样。
随便写了一段,希望能对你有帮助。

</title></head>xxx<body><dl>\n";
while (<>) {
$line = $_; HTML
$line =~ s/\&/\&amp\;/g;
$line =~ s/\</\&lt\;/g;
$line =~ s/\>/\&gt\;/g;
$line =~ s/\xe1\x46\x30\x30/<half>/g;  $line =~ s/\xe1\x46\x30\x32//g;  <font ?>
$line =~ s/\xe1\x46\x38\x30/<full>/g;  
$line =~ s/\xe0\x50\x36//g;  TAB
$line =~ s/\xe0\x54\x31//g;  SPACE
$line =~ s/\xe1\x41(\x6c|\x4c)//g;  </a>
$line =~ s/\xe1\x42\x30\x81\x5d\xe1\x42\x31//g;  <don't need>
$line =~ s/\xe1\x42\x30/<\/bold>/g;  </bold>
$line =~ s/\xe1\x42\x31/<bold>/g;  <bold>
$line =~ s/\xe1\x49\x30/<\/i>/g;  </i>
$line =~ s/\xe1\x49\x31/<i>/g;  <i>
$line =~ s/\xe1\x4c(\x31|\x32|\x33|\x34|\x35)//g;  RANK 1~5  $line =~ s/\xe1\x53\x30/<\/sup>/g;  </sup> $line =~ s/\xe1\x53\x31/<sup>/g;  <sup>
$line =~ s/\xe0\x50(\x45|\x47)//g;  E0 50 45/47
$line =~ s/\xe0\x70(\x36|\x45|\x47)//g;  E0 70 36/45/47
$line =~ s/\xe0\x74\x31//g;  E0 74 31  
$line =~ s/\x0c/\"/g;  ^L →

$line =~ s/\xe1\x5a\x34//g;
$line =~ s/\xe1\x7a//g;
$line =~ s/\xe1\x73\x30/\x81\x84/g;  E1 73 30 (>)
$line =~ s/\xe1\x73\x31/\x81\x83/g;  E1 74 31 (<)
$line =~ s/\xe1\x46\x30\x31\x30\x31\x22/\x3c\x2f\x52\x54\x3e/g;  (</RT>)
$line =~ s/\xe1\x46\x30\x31\x30\x31\x2e/\x3c\x52\x54\x3e/g;  (<RT>)
$line =~ s/\xe1\x46\x30\x31\x30\x31\x7c/\x3c\x42\x3e\[/g;  (<B>)
$line =~ s/\xe1\x46\x30\x31\x30\x31\x7d/\]\x3c\x2f\x42\x3e/g;  (</B>)
$line =~ s/\xe1\x46\x30\x31\x30\x31.{1}/\x09/g;  (don't need)
$line =~ s/[\x81\xa8]*\x23[\x81|\xe1]{1}\x45?[0-9|A-F|a-f]+/\[\x8e\x51\x8f\xc6\]/g;  ([reference])
$line =~ s/\xe1\x46\x30\x31\x30\x31(\$|\|\%)//g; (don't need)
$line =~ s/\xe1\x53\x31(.*?)\xe1\x53\x30//g; (<sup> don't need)

if ($line =~ /^<bold><full>(.*?) *<\/bold><RT><full>(.*?)<\/RT><full> *(.*)$/) {
     $yomi = $1;
     $hyoki = $2;
     $other = $3;
     $hyoki =~ s/<RT>//g;
     print "<dt>$yomi $other</dt>";
     print "<key type=\"\x95\x5c\x8b\x4c\">$hyoki</key>\n<dd>";}
elsif ($line =~ /^<bold><full>(.*?) *<\/bold>.*\x81\x79(.*?)\x81\x7a *(.*)$/) {
     $yomi = $1;
     $hyoki = $2;
     $other = $3;
     $hyoki =~ s/<RT>//g;
     print "<dt>$yomi $other</dt>";
     print "<key type=\"\x95\x5c\x8b\x4c\">$hyoki</key>\n<dd>";}
elsif ($line =~ /^<bold><full>(.*?) *<\/bold> *(.*)$/) {
     $hyoki = $1;
     $other = $2;
     $hyoki =~ s/<RT>//g;
     $other =~ s/<RT>//g;
     print "<dt>$hyoki  $other</dt>\n<dd>";}
elsif ($line =~ /.+/){
     $line =~ s/<RT>/\(/g;
     $line =~ s/<\/RT>/\)/g;
     print "$line<br>";
}

}
print "</dl></body></html>\n";
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-11-6 04:27:09 | 显示全部楼层
谢谢kazuky 的热心帮助!!
我刚才的意思是说你能不能做个完全整的转码教程,比如说从html文件的建立到转码\转辞典,
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-11-6 04:28:20 | 显示全部楼层
另,我用你说的先用word编辑,另存为mht,再改为html的方法没有转换成功,不知道什么原因
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注~册

本版积分规则

小黑屋|手机版|咖啡日语

GMT+8, 2024-10-2 05:59

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表