huanggx 发表于 2006-11-26 02:44

因为每个汉字是两个=xx, 你的意思是, 如果正好在这些=xx之间换行了,而且是在奇数位置换行,就乱套了,对吗?

huanggx 发表于 2006-11-26 02:48

你能贴一个转不对的原文例子出来吗

Drifter 发表于 2006-11-26 03:04

原帖由 huanggx 于 2006-11-26 02:48 发表
你能贴一个转不对的原文例子出来吗

我把说明部分加长了一点, 它根本就不转了.

huanggx 发表于 2006-11-26 03:13

脚本写得简单, 没有考虑全部情况, 修改一下就可以了
不转的原因是代码出错了
我再试试看, 如果能简单解决, 我就贴出来,如果麻烦,就明天.如何?

Drifter 发表于 2006-11-26 03:21

原帖由 huanggx 于 2006-11-26 03:13 发表
脚本写得简单, 没有考虑全部情况, 修改一下就可以了
不转的原因是代码出错了
我再试试看, 如果能简单解决, 我就贴出来,如果麻烦,就明天.如何?

今天已经很晚了, 不必为这个费心了. 谢谢.

yiylu 发表于 2006-11-26 03:51

我的也来了!^,^
用法:待处理文件改名为 start.vcf
处理好生成: ready.vcf
如需继续下一个,请移走 ready.vcf 再进行。

下载:http://www.luzhinan.com/vcard.rar

yiylu 发表于 2006-11-26 04:06

处理结果有问题么?还有,大文件分割的情况你的说明一下,我继续实现。呵呵~

huanggx 发表于 2006-11-26 04:07

你刚才给的zip文件中都是了一个汉字. 我修改了代码, 如果丢失了半个汉字, 丢失位置后面的无法正确转码
你试试看

Drifter 发表于 2006-11-26 04:08

原帖由 yiylu 于 2006-11-26 03:51 发表
我的也来了!^,^
用法:待处理文件改名为 start.vcf
处理好生成: ready.vcf
如需继续下一个,请移走 ready.vcf 再进行。

下载:http://www.luzhinan.com/vcard.rar

这个更直接一些.

不过, 手机对gbk不感冒啊. (好象gbk本来就是一个半吊子编码?).

而且, 把quoted-printable变成gbk是为了转入Outlook.

现在已经可以完成对quoted-printable转码了. 让我想想应该怎么样最方便. (不需要经过Outlook的转换).

yiylu 发表于 2006-11-26 04:10

gbk 能支持常用的简体和繁体,已经算比较全了,至少比gb2312要全。

huanggx 发表于 2006-11-26 04:11

你用yiylu兄的代码吧, 我的是html+js,无法进行文件分割处理.
不好意思

huanggx 发表于 2006-11-26 04:12

感谢你给我了那么多NB,没能完全解决你的问题, 有点不好意思

yiylu 发表于 2006-11-26 04:16

huanggx 你也辛苦了,打算何时入睡啊~~~ 呵呵,现在我倒挺兴奋的。

Drifter 发表于 2006-11-26 04:22

原帖由 huanggx 于 2006-11-26 04:12 发表
感谢你给我了那么多NB,没能完全解决你的问题, 有点不好意思

别这么说, 你们二位这么热心, 不好意思的是我啊.

Drifter 发表于 2006-11-26 04:25

原帖由 yiylu 于 2006-11-26 04:16 发表
huanggx 你也辛苦了,打算何时入睡啊~~~ 呵呵,现在我倒挺兴奋的。


稍等一下, 我正在分析.

手机肯定是认UTF8, 但又要编码.

注释部分更加复杂, 我现在有点想分二步走.

第一步, 搞对前面的那些, 就是名字, 地址等, 这是最重要的.

第二步, 再来看注释部分.

文件分割, 我刚用那个试了, 它没有限制文件的长度, 一路扫下去转下去. 因为分割是针对Outlook的要求而来的. 如果可以不经过Outlook, 就不需要分割了. 当然这样更方便.

稍等, 我弄出一个完整一点的格式来.

huanggx 发表于 2006-11-26 04:25

原帖由 yiylu 于 2006-11-26 04:16 发表
huanggx 你也辛苦了,打算何时入睡啊~~~ 呵呵,现在我倒挺兴奋的。


我也是夜猫子, 看到drifter的问题,就来劲了.
因为最近我刚刚因为ajax的编码问题而痛苦, 虽然解决了,但还是对各种浏览器"各行其是"很是愤愤然.

我再看看, 过一会儿就去睡觉了.

yiylu 发表于 2006-11-26 04:27

Drifter再发点 nb 来呀,这样huanggx兄也就不会觉得多了。嘻嘻

huanggx 发表于 2006-11-26 04:28

你说的注释部分是NOTE后面那些吗?
我的代码可以转吧?

yiylu 发表于 2006-11-26 04:30

原帖由 huanggx 于 2006-11-26 04:25 发表



我也是夜猫子, 看到drifter的问题,就来劲了.
因为最近我刚刚因为ajax的编码问题而痛苦, 虽然解决了,但还是对各种浏览器"各行其是"很是愤愤然.

我再看看, 过一会儿就去睡觉了.

javascript 里文字编码转为 unicode 也许能避免不少问题。

huanggx 发表于 2006-11-26 04:31

这个问题最简单的办法是用WSH脚本处理,但我忘记了WSH的语法,只记得在浏览器中的脚本语法了.
用java很容易做, 但要求你的机器上要有JVM环境.

要有vcard的格式定义就好了

Drifter 发表于 2006-11-26 04:32

原帖由 yiylu 于 2006-11-26 04:27 发表
Drifter再发点 nb 来呀,这样huanggx兄也就不会觉得多了。嘻嘻

收到了吧?

yiylu 发表于 2006-11-26 04:35

原帖由 Drifter 于 2006-11-26 04:32 发表


收到了吧?
@.@ 爱死 nb 了,一会定能睡很香!谢谢了

huanggx 发表于 2006-11-26 04:35

原帖由 yiylu 于 2006-11-26 04:30 发表


javascript 里文字编码转为 unicode 也许能避免不少问题。

IE有些自作聪明, 不太遵守规范.
但Opera, FireFox,等等各不相同, 只有UTF-8编码是全部没问题的.
可是, 如果把页面编码全部采用UTF-8, 原来的老页面和老应用需要大量修改,很容易出错.
而且, 涉及到数据库数据时,还需要不断地转码, 只要有一处不注意,就完蛋了.

yiylu 发表于 2006-11-26 04:38

vcard 格式开头初略翻了一下,在分享个方法:
google 里输入:define: vcard 看看。

Drifter 发表于 2006-11-26 04:39

原帖由 huanggx 于 2006-11-26 04:31 发表
这个问题最简单的办法是用WSH脚本处理,但我忘记了WSH的语法,只记得在浏览器中的脚本语法了.
用java很容易做, 但要求你的机器上要有JVM环境.

要有vcard的格式定义就好了

是的, 还是要回到根本.

看了下, vCard应该是个文本文件, 本身是以ansi编码的. 里面是以行为单位的. 有个头有个尾很容易认到. 然后一行代表一个字段, 应该是这样吧?

再来说说650的输出的东西. 除了NOTE那个字段, 它都是用windows-1252编码的, 真正的内容不知道用了什么码, 但是在XP上直接可见(那是什么? 我在MAC上打开同一个文件, 不能显示, 说明不是unicode编码?). 但是, Note那个字段, 650还是用了windows-1252编码, 但是转成了quoted-printable.

再来看看非智能手机的情况.

我刚才把这样一个文件直接传给了手机:

BEGIN:VCARD
VERSION:2.1
N;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:Bob=E6=9D=8E=E7=A7=80=E5=86=9B
TEL;WORK:075512345678
TEL;CELL:13902912345
EMAIL;INTERNET;PREF:
EMAIL;INTERNET:
EMAIL;INTERNET:
X-IRMC-LUID:00020000010D
END:VCARD

手机是可以正确认识里面的那些中文的. 说明它需要UTF-8的格式, 但是要经过quoted-printable编码.

先这样吧. 这个vCard是真实的. 不要把上面的中文字贴出来.

yiylu 发表于 2006-11-26 04:43

原帖由 huanggx 于 2006-11-26 04:35 发表


IE有些自作聪明, 不太遵守规范.
但Opera, FireFox,等等各不相同, 只有UTF-8编码是全部没问题的.
可是, 如果把页面编码全部采用UTF-8, 原来的老页面和老应用需要大量修改,很容易出错.
而且, 涉及到数据库数 ...

那倒是,如果之前不是utf-8。所以我现在大部分的web-app从前台到数据库都utf-8了,虽然占用字节数多些。
好了,各位晚安!

huanggx 发表于 2006-11-26 04:45

最近试了试dojo, 在中文环境下是不完备的,除非全部采用UTF-8编码.
dojo有几个很不错的feature, 可以很简单地自动地把form数据和query string都发给服务器(http只有在post方法时才可以).
但是, 在IE中, form中的数据是编码的, query string则不需要编码就可以(当然编码也可以).
对中文的编码, IE采用类似于quoted-printable,只是把=换成了%。
但是Opera和FireFox都是编码为UTF-8。
而dojo则不是。 它要么编码为utf-8,要么就escape(把汉字转为&#nnnnn,nnnnn是数字)。很麻烦
所以我写了js,替代了dojo的转码方法
可是,在Opers和FF下就不行了

huanggx 发表于 2006-11-26 04:51

Drifter兄, 你究竟是要转码的结果还是要转码的解决方案?

Drifter 发表于 2006-11-26 04:51

原帖由 huanggx 于 2006-11-26 04:45 发表
最近试了试dojo, 在中文环境下是不完备的,除非全部采用UTF-8编码.
dojo有几个很不错的feature, 可以很简单地自动地把form数据和query string都发给服务器(http只有在post方法时才可以).
但是, 在IE中, form中的 ...

utf-8是好东西, 世界大同啊. 可是, ie就是要别扭, 谁叫它是老大呢?

huanggx 发表于 2006-11-26 04:55

我给你一个UNICODE和GBK编码的影射文件,你作参考吧
页: 1 2 [3] 4 5
查看完整版本: 【求助】问个难点的, 电话本的编码转换