[Catalyst] CSV / UTF-8 / Unicode

Anthony Lucas anthonyjlucas at gmail.com
Wed Jul 3 05:42:32 GMT 2013


SSBkb24ndCBzZWUgaG93IERCSSBjYW4gYmUgY29ycnVwdGluZyB5b3VyIGRhdGEuIERCRDo6T0RC
Qywgb3IgbW9yZQpzcGVjaWZpY2FsbHkgdGhlIGFjdHVhbCBkcml2ZXIgaXQgaXMgdXNpbmcgd2ls
bCBiZSBtb3JlIHN1c3BlY3QgaW4gdGhhdApjYXNlLgoKSW4gZWl0aGVyIGNhc2UsIHNldHRpbmcg
REJJJ3MgdHJhY2UgZmxhZyB0byBzb21ldGhpbmcgaGlnaCBzaG91bGQgcHJvdmlkZQpzb21lIGlu
c2lnaHQgIHdobydzIGRvaW5nIHdoYXQsIGFuZCB5b3UgY2FuIG1ha2Ugc3VyZSB0aGV5IGFyZSBi
ZWluZwpoYW5kbGVkIGFzIHdpZGUgY2hhcmFjdGVycy4gT0RCQyBkcml2ZXJzIGFyZSByZW5vd25l
ZCBmb3IgcHJvdmlkaW5nCmluY29tcGxldGUgQVBJcyBhbmQgbHlpbmcgYWJvdXQgc3R1ZmYuCgpN
YXliZSB3cml0ZSBhIHN0YW5kYWxvbmUgdGVzdCBhbmQgdGFrZSBDYXRhbHlzdCBhbmQgYnJvd3Nl
ciBxdWlya3Mgb3V0IG9mCnRoZSBwaWN0dXJlLgpBbHNvLCB5b3UgYXJlIGF3YXJlIHRoYXQgeW91
ciBkYXRhIHdpbGwgcHJvYmFibHkgYmUgY29taW5nIGJhY2sgYXMgVUNTMiBpZgp5b3UncmUgdXNp
bmcgU1FMIFNlcnZlciByaWdodD8KCgpPbiAyIEp1bHkgMjAxMyAxNzoyOSwgQ3JhaWcgQ2hhbnQg
PGNyYWlnQGhvbWVsb2FucGFydG5lcnNoaXAuY29tPiB3cm90ZToKCj4gID4+IEFsbCB0aGUgYWJv
dmUgc2VlbXMgb3ZlcmtpbGwuICAgSSBzdXNwZWN0IHdoYXQgeW91IHdhbnQgaXMgY2xvc2VyIHRv
Cj4gdGhpczogKGJ1dCBzZWUgbm90ZXMgYmVsb3cpLgo+Cj4KPgo+IFRyaWVkIHRoYXQsIGRpZG7i
gJl0IHdvcmssIGVuZGVkIHVwIGluIGEgbG9uZyBDYXRhbHlzdCBkaXNjdXNzaW9uIHdoZXJlIGl0
Cj4gd2FzIHdvcmtlZCBvdXQgdGhhdCBJIG5lZWRlZCB0byB3cmFwIGFueSBYTFMgb3V0cHV0IHRv
IGFuIElPOkZJTEUgaGFuZGxlCj4gb3RoZXJ3aXNlIENhdGFseXN0IGRpZXMgd2l0aCBhbiDigJxv
dXQgb2YgbWVtb3J54oCdIGVycm9yIHNvbWV0aGluZyB0byBkbyB3aXRoCj4gc3RyZWFtaW5nIGRh
dGEgc3VwcG9ydCBpc3N1ZXMgaW4gQ2F0YWx5c3Qgc28gdGhlIHdvcmsgcm91bmQgaXMgdG8gd3Jh
cCB0aGUKPiBvdXRwdXQgaW50byBhbiBJTzpGaWxlIG9iamVjdC4KPgo+Cj4KPiA+PlNlY29uZCwg
YmUgYXdhcmUgdGhhdCAkYy0+cmVzcG9uc2UtPmNvbnRlbnRfbGVuZ3RoKGxlbmd0aCgkeGxzKSk7
Cj4KPgo+Cj4gWWVzLCBJIHdhcyBkb2luZyB0aGUgZW5jb2RlIHRoZW4gdXNpbmcgTGVuZ3RoIChJ
IGRpZCByZWFkIG9uIHBlcmxkb2NzCj4gYWJvdXQgcmVxdWVzdGluZyB0aGUgbGVuZ3RoIGFnYWlu
c3QgdGhlIG9jdGV0KSAsIGVpdGhlciB3YXksIHRoZSBsZW5ndGggd2FzCj4gdGhlIGxlYXN0IG9m
IG15IHdvcnJpZXMsIGtlZXBpbmcgQ2F0YWx5c3QgZnJvbSBmYWxsaW5nIG92ZXIgd2l0aCDigJhX
aWRlCj4gQ2hhcmFjdGVy4oCZIGVycm9ycywgb3Igbm90IGdldHRpbmcgZ2FyYmFnZSB3YXMgbXkg
bWFpbiBjb25jZXJuLgo+Cj4KPgo+IEFuZCB5ZXMsIHRoZSBvdXRwdXQgaXMgQ1NWIG5vdCBzdHJp
Y3RseSBYTFMgYnV0IEkgaGF2ZSBiZWVuIHRvbGQgYW5kCj4gbG9va2VkIGl0IHVwIG9uIHRoZSBu
ZXQgdGhhdCAnYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsJyAgSXMgdGhlIGNvcnJlY3QKPiBNSU1F
IGhlYWRlciB0byBwYXNzIGZvciBDU1YgdGhhdCB5b3Ugd2FudCBNUyBFeGNlbCB0byBvcGVuLgo+
Cj4KPgo+IE9mIGNvdXJzZSwgaWYgSSBoYXZlIHRoZSB3cm9uZyBNSU1FIGhlYWRlciBmb3IgQ1NW
IC0+IE1TIEV4Y2VsIHBsZWFzZSBjYW4KPiB5b3UgcHJvdmlkZSB0aGUgY29ycmVjdCBvbmUsIGFz
IGl0IHRvb2sgbWUgYSBsb25nIHRpbWUgdG8gZmluZCB0aGF0IG9uZSwgYXMKPiB0aGUgYm94IHN0
YW5kYXJkIOKAmHRleHQvY3N24oCZIGRvZXMgbm90IHdvcmsgcHJvcGVybHkgd2hlbiBvcGVuZWQg
aW4gTVMgRXhjZWwuCj4KPgo+Cj4gVGhvdWdoIGFzIGl0IGFwcGVhcnMgREJJIGlzIGNvcnJ1cHRp
bmcgbXkgVW5pY29kZSBkYXRhLCBpdCBtaWdodCBiZQo+IHJlbGF0ZWQgdG8gdGhhdCByYXRoZXIg
dGhhbiBDU1YtPk1TIEV4Y2VsIHBlciBzYWUhCj4KPgo+Cj4KPgo+ICpGcm9tOiogQmlsbCBNb3Nl
bGV5IFttYWlsdG86bW9zZWxleUBoYW5rLm9yZ10KPiAqU2VudDoqIDAyIEp1bHkgMjAxMyAxNjo1
OQo+Cj4gKlRvOiogVGhlIGVsZWdhbnQgTVZDIHdlYiBmcmFtZXdvcmsKPiAqU3ViamVjdDoqIFJl
OiBbQ2F0YWx5c3RdIENTViAvIFVURi04IC8gVW5pY29kZQo+Cj4KPgo+Cj4KPiBPbiBUdWUsIEp1
bCAyLCAyMDEzIGF0IDI6NTkgQU0sIENyYWlnIENoYW50IDxjcmFpZ0Bob21lbG9hbnBhcnRuZXJz
aGlwLmNvbT4KPiB3cm90ZToKPgo+Cj4gICAgICAgICAjIG91dHB1dCBoZWFkZXIKPiAgICAgICAg
ICRjLT5yZXNwb25zZS0+Y29udGVudF90eXBlKCdhcHBsaWNhdGlvbi92bmQubXMtZXhjZWwnKTsK
PiAgICAgICAgICRjLT5yZXNwb25zZS0+Y29udGVudF9sZW5ndGgobGVuZ3RoKCR4bHMpKTsKPiAg
ICAgICAgICRjLT5yZXNwb25zZS0+aGVhZGVyKENvbnRlbnRfRGlzcG9zaXRpb24gPT4KPiAnYXR0
YWNobWVudDtmaWxlbmFtZT1OQkNTX0V4cG9ydC5jc3YnKTsKPgo+Cj4gICAgICAgICAjIGNyZWF0
ZSBhbiBJTzo6RmlsZSBmb3IgQ2F0YWx5c3QKPiAgICAgICAgIHVzZSBJTzo6RmlsZTsKPiAgICAg
ICAgIG15ICRpb2YgPSBJTzo6RmlsZS0+bmV3Owo+Cj4gICAgICAgICAkaW9mLT5vcGVuKFwkeGxz
LCAiciIpOwo+ICAgICAgICAgJGlvZi0+YmlubW9kZSgiOmVuY29kaW5nKFVURi04KSIpOwo+Cj4g
ICAgICAgICAjIG91dHB1dCBYTFMgZGF0YQo+ICAgICAgICAgJGMtPnJlc3BvbnNlLT5ib2R5KCRp
b2YpOwo+Cj4KPgo+IEFsbCB0aGUgYWJvdmUgc2VlbXMgb3ZlcmtpbGwuICAgSSBzdXNwZWN0IHdo
YXQgeW91IHdhbnQgaXMgY2xvc2VyIHRvIHRoaXM6Cj4gKGJ1dCBzZWUgbm90ZXMgYmVsb3cpLgo+
Cj4KPgo+ICAgICAgICAgJGMtPnJlc3BvbnNlLT5jb250ZW50X3R5cGUoJ3RleHQvY3N2Jyk7Cj4K
PiAgICAgICAgICRjLT5yZXNwb25zZS0+Ym9keSgkeGxzKTsKPiAgICAgICAgICRjLT5yZXNwb25z
ZS0+aGVhZGVyKENvbnRlbnRfRGlzcG9zaXRpb24gPT4KPiAnYXR0YWNobWVudDtmaWxlbmFtZT1O
QkNTX0V4cG9ydC5jc3YnKTsKPgo+Cj4KPiBUaGVuIHdpdGggdGhhdCBjb250ZW50IHR5cGUgdGhl
IHBsdWdpbiB3b3VsZCBlbmNvZGUgJHhscyBhcyB1dGY4IGFuZCBhZGQKPiA7Y2hhcnNldD11dGY4
IChvciB3aGF0ZXZlciBpdCBpcyBjb25maWd1cmVkIHRvIGVuY29kZSBhcykuCj4KPgo+Cj4gTm90
ZXM6Cj4KPgo+Cj4gRmlyc3QsIHlvdSBhcmUgbm90IHJldHVybmluZyBFeGNlbCwgc28gdGhlIGNv
bnRlbnQgdHlwZSBpcyBub3Qgd2hhdCB5b3UKPiBmaXJzdCBsaXN0ZWQgYWJvdmUsIHJpZ2h0Pwo+
Cj4KPgo+IFNlY29uZCwgYmUgYXdhcmUgdGhhdCAkYy0+cmVzcG9uc2UtPmNvbnRlbnRfbGVuZ3Ro
KGxlbmd0aCgkeGxzKSk7IGNvdWxkIGJlCj4gdmVyeSB3cm9uZy4gIElmICR4bHMgaXMgcmVhbGx5
IENTViB0ZXh0IEFORCBpdCdzIGRlY29kZWQgdGhlbiBsZW5ndGgoJHhscykKPiBpcyB0aGUgbGVu
Z3RoIGluIGNoYXJhY3RlcnMsIG5vdCBvY3RldHMuICAgRG9uJ3Qgc2V0IHRoZSBjb250ZW50IGxl
bmd0aC4KPgo+Cj4KPgo+Cj4gVGhpcmQsIENhdGFseXN0OjpQbHVnaW46OlVuaWNvZGU6OkVuY29k
aW5nLCBJTU8sIGhhcyBzb21lIGlzc3Vlcy4KPgo+Cj4KPiBUaGUgcGx1Z2luIGxpbWl0cyB0byBq
dXN0IHRoZXNlIGNvbnRlbnQgdHlwZXMuCj4KPgo+Cj4gICAgIHJldHVybiAkYy0+bmV4dDo6bWV0
aG9kKEBfKQo+Cj4gICAgICAgdW5sZXNzICRjLT5yZXNwb25zZS0+Y29udGVudF90eXBlID1+IC9e
dGV4dHx4bWwkfGphdmFzY3JpcHQkLzsKPgo+Cj4KPiBUaGVuIGl0IGRvZXMgdGhpczoKPgo+Cj4K
PiAgICAgJGMtPnJlc3BvbnNlLT5ib2R5KCAkYy0+ZW5jb2RpbmctPmVuY29kZSggJGJvZHksICRD
SEVDSyApICkKPgo+ICAgICAgICAgaWYgcmVmKFwkYm9keSkgZXEgJ1NDQUxBUic7Cj4KPgo+Cj4g
UGVyc29uYWxseSwgSSB0aGluayB0aGUgY29ycmVjdCBhcHByb2FjaCBpcyB0byBvbmx5IGVuY29k
ZSAqIGNoYXJhY3RlciogZGF0YQo+IC0tIHRoYXQgaXMgY2hlY2sgdG8gc2VlIGlmIHRoZSB1dGY4
IGZsYWcgaXMgc2V0IGJlZm9yZSBjYWxsaW5nIGVuY29kZS4KPgo+Cj4KPiBNYXliZSBsaW1pdCB0
byB0aGUgY29udGVudCB0eXBlcyBsaXN0ZWQgYWJvdmUsIGJ1dCB0aHJvdyBhbiBleGNlcHRpb24g
Zm9yCj4gb3RoZXIgY29udGVudCB0eXBlcyB3aGVyZSB0aGUgYm9keSBpcyBhIHNjYWxhciBBTkQg
aGFzIHRoZSB1dGY4IGZsYWcgb24uCj4gIEFmdGVyIGFsbCwgd2UgY2FuIG9ubHkgd3JpdGUgb3V0
IG9jdGV0cyBvciBlbHNlIHdlIGdldCB0aGUgV2lkZSBDaGFyYWN0ZXIKPiBlcnJvci4KPgo+Cj4K
Pgo+Cj4KPgo+Cj4KPgo+Cj4KPgo+IC0tCj4gQmlsbCBNb3NlbGV5Cj4gbW9zZWxleUBoYW5rLm9y
Zwo+ICBUaGlzIEVtYWlsIGFuZCBhbnkgYXR0YWNobWVudHMgY29udGFpbiBjb25maWRlbnRpYWwg
aW5mb3JtYXRpb24gYW5kIGlzCj4gaW50ZW5kZWQgc29sZWx5IGZvciB0aGUgaW5kaXZpZHVhbCB0
byB3aG9tIGl0IGlzIGFkZHJlc3NlZC4gSWYgdGhpcyBFbWFpbAo+IGhhcyBiZWVuIG1pc2RpcmVj
dGVkLCBwbGVhc2Ugbm90aWZ5IHRoZSBhdXRob3IgYXMgc29vbiBhcyBwb3NzaWJsZS4gSWYgeW91
Cj4gYXJlIG5vdCB0aGUgaW50ZW5kZWQgcmVjaXBpZW50IHlvdSBtdXN0IG5vdCBkaXNjbG9zZSwg
ZGlzdHJpYnV0ZSwgY29weSwKPiBwcmludCBvciByZWx5IG9uIGFueSBvZiB0aGUgaW5mb3JtYXRp
b24gY29udGFpbmVkLCBhbmQgYWxsIGNvcGllcyBtdXN0IGJlCj4gZGVsZXRlZCBpbW1lZGlhdGVs
eS4gV2hpbHN0IHdlIHRha2UgcmVhc29uYWJsZSBzdGVwcyB0byB0cnkgdG8gaWRlbnRpZnkgYW55
Cj4gc29mdHdhcmUgdmlydXNlcywgYW55IGF0dGFjaG1lbnRzIHRvIHRoaXMgZS1tYWlsIG1heSBu
ZXZlcnRoZWxlc3MgY29udGFpbgo+IHZpcnVzZXMsIHdoaWNoIG91ciBhbnRpLXZpcnVzIHNvZnR3
YXJlIGhhcyBmYWlsZWQgdG8gaWRlbnRpZnkuIFlvdSBzaG91bGQKPiB0aGVyZWZvcmUgY2Fycnkg
b3V0IHlvdXIgb3duIGFudGktdmlydXMgY2hlY2tzIGJlZm9yZSBvcGVuaW5nIGFueQo+IGRvY3Vt
ZW50cy4gSG9tZUxvYW4gUGFydG5lcnNoaXAgd2lsbCBub3QgYWNjZXB0IGFueSBsaWFiaWxpdHkg
Zm9yIGRhbWFnZQo+IGNhdXNlZCBieSBjb21wdXRlciB2aXJ1c2VzIGVtYW5hdGluZyBmcm9tIGFu
eSBhdHRhY2htZW50IG9yIG90aGVyIGRvY3VtZW50Cj4gc3VwcGxpZWQgd2l0aCB0aGlzIGUtbWFp
bC4gSG9tZUxvYW4gUGFydG5lcnNoaXAgcmVzZXJ2ZXMgdGhlIHJpZ2h0IHRvCj4gbW9uaXRvciBh
bmQgYXJjaGl2ZSBhbGwgZS1tYWlsIGNvbW11bmljYXRpb25zIHRocm91Z2ggaXRzIG5ldHdvcmsu
IE5vCj4gcmVwcmVzZW50YXRpdmUgb3IgZW1wbG95ZWUgb2YgSG9tZUxvYW4gUGFydG5lcnNoaXAg
aGFzIHRoZSBhdXRob3JpdHkgdG8KPiBlbnRlciBpbnRvIGFueSBjb250cmFjdCBvbiBiZWhhbGYg
b2YgSG9tZUxvYW4gUGFydG5lcnNoaXAgYnkgZW1haWwuCj4gSG9tZUxvYW4gUGFydG5lcnNoaXAg
aXMgYSB0cmFkaW5nIG5hbWUgb2YgSCBMIFBhcnRuZXJzaGlwIExpbWl0ZWQsCj4gcmVnaXN0ZXJl
ZCBpbiBFbmdsYW5kIGFuZCBXYWxlcyB3aXRoIFJlZ2lzdHJhdGlvbiBOdW1iZXIgNTAxMTcyMi4K
PiBSZWdpc3RlcmVkIG9mZmljZTogMjYtMzQgT2xkIFN0cmVldCwgTG9uZG9uLCBFQzFWIDlRUS4g
SCBMIFBhcnRuZXJzaGlwCj4gTGltaXRlZCBpcyBhdXRob3Jpc2VkIGFuZCByZWd1bGF0ZWQgYnkg
dGhlIEZpbmFuY2lhbCBDb25kdWN0IEF1dGhvcml0eS4KPgo+IF9fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gTGlzdDogQ2F0YWx5c3RAbGlzdHMuc2NzeXMu
Y28udWsKPiBMaXN0aW5mbzogaHR0cDovL2xpc3RzLnNjc3lzLmNvLnVrL2NnaS1iaW4vbWFpbG1h
bi9saXN0aW5mby9jYXRhbHlzdAo+IFNlYXJjaGFibGUgYXJjaGl2ZToKPiBodHRwOi8vd3d3Lm1h
aWwtYXJjaGl2ZS5jb20vY2F0YWx5c3RAbGlzdHMuc2NzeXMuY28udWsvCj4gRGV2IHNpdGU6IGh0
dHA6Ly9kZXYuY2F0YWx5c3QucGVybC5vcmcvCj4KPgotLS0tLS0tLS0tLS0tLSBuZXh0IHBhcnQg
LS0tLS0tLS0tLS0tLS0KQW4gSFRNTCBhdHRhY2htZW50IHdhcyBzY3J1YmJlZC4uLgpVUkw6IGh0
dHA6Ly9saXN0cy5zY3N5cy5jby51ay9waXBlcm1haWwvY2F0YWx5c3QvYXR0YWNobWVudHMvMjAx
MzA3MDMvNWE0MjY5ZDEvYXR0YWNobWVudC5odG0K


More information about the Catalyst mailing list