Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Strony: 1
Witam
Nie chodzi mi o zmienną z locali - bo te znam.
Chciałem zapytać, czy jest jakaś funkcja, która zwraca samo kodowanie znaków na aktywnej konsoli (w systemie).
Czy da się to jakoś uzyskać z powłoki, czy trzeba kombinować z $LANG i awk.
Konkretnie potrzebuję taką funkcję w C, do jednego programiku - autorespondera do maili - który obecnie nie dodaje kodowania do maila, skutkiem czego jak odpowiedź działa prawidłowo na Linuxie, to na Win$ jest ..., i odwrotnie.
A zamiast mu klepać utf-8 w kodzie, wolałbym dać mu funkcję, żeby sam wiedział, co ma wstawić, nawet, jak się znajdzie w chińskim komputerze :)))
same kodowania we wszystkich znanych mi językach programowania obsługuje iconv - ale nigdzie nie widziałem, jak w nim zakodować detekcję aktywnego kodowania w systemie.
A chodzi mi o to, żeby w nagłówku wygenerowanego maila znalazło się prawidłowe kodowanie wiadomości, żeby nie było cyrku na innych systemach.
Pozdrawiam
;-)
Offline
Najlepiej sprawdzić jakie kodowanie jest w mailu, który przyszedł i odpowiedzieć takim samym. Do sprawdzenia kodowania w jakim plik został zapisany możesz użyć programu (jest też lib) enca.
Offline
[url=http://dug.net.pl/drukuj/124/%C5%82atwa_konwersja_z_iso_do_utf8___i_nie_tylko/]Encę znam dokładnie[/url], ale chodzi mi o poprawienie autorespondera Qmailowego.
Poza tym autoresponder odpowiada wiadomością:
o wiele prościej będzie, żeby ustawiał kodowanie systemu operacyjnego, aniżeli konwertować kodowanie do takiego, w jakim mail przyszedł.
Generalnie program nie będzie odsyłał wiadomości, tylko odpowiedź automatyczną.
W dodatku program istnieje, jest napisany w języku C, ja potrzebuję mu wbić do łba kilka poprawek.
Z tego wynika pytanie, jak to wykombinować w C, i wpakować do kodu autorespondera.
A najlepiej, żeby dało się z tego zrobić patcha, po co ktoś inny później ma się potykać o ten sam problem?
Chyba, że libenca -jest biblioteką używalną w C, w takim razie się przyda.
Pozdrawiam
;-)
Ostatnio edytowany przez Jacekalex (2011-01-28 11:28:29)
Offline
Czy nie po to powstał UTF by nie mieć takich problemów? Czemu by nie wysyłać wszystkich maili w UTF-8?
Offline
http://www.gnu.org/software/libc/manual/html_node/index.html#toc_Locales
Offline
Chyba tak właśnie zrobię, do autorespondera wrzucę polecenie enca do zmiany na utf8 i potem na żywca nagłówki z utf-8.
Tylko kłopot jest jeszcze z tematem zgodnym z RFC - gdzie znaki charakterystyczne są zmienione w encje ascii zgodnie z tym [url=http://www.faqs.org/rfcs/rfc2047.html][b]rfc[/b][/url].
Tylko że na C się znam, jak kura na pieprzu :)))
A może przy okazji ktoś wie, jak przetworzyć nasze znaki narodowe w taki bełkot:
BRE Bank SA z siedzib=B1 w Warszawie przy ul. Senatorskiej 18, wpisany d= o rejestru przedsi=EAbiorc=F3w prowadzonego przez S=B1d Rejonowy dla m.s= t. Warszawy, XII Wydzia=B3 Gospodarczy Krajowego Rejestru S=B1dowego pod= numerem KRS 0000025237, posiadaj=B1cy numer identyfikacji podatkowej NI= P: 526-021-50-88, o wp=B3aconym w ca=B3o=B6ci kapitale zak=B3adowym, kt=F3= rego wysoko=B6=E6 wg stanu na dzie=F1 01.01.2011 r. wynosi 168.346.696 z= =B3otych.
Bo wygląda to strasznie, ale za to działa znacznie lepiej we wszystkich mozillach, outlookach, itp, niż cokolwiek innego.
Wszelkie przykłady mile widziane ;)
Pozdrawiam
Ostatnio edytowany przez Jacekalex (2011-01-28 13:55:08)
Offline
Strony: 1
Time (s) | Query |
---|---|
0.00009 | SET CHARSET latin2 |
0.00004 | SET NAMES latin2 |
0.00113 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='18.191.223.123' WHERE u.id=1 |
0.00089 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '18.191.223.123', 1714870661) |
0.00043 | SELECT * FROM punbb_online WHERE logged<1714870361 |
0.00074 | DELETE FROM punbb_online WHERE ident='52.167.144.192' |
0.00090 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=18184 AND t.moved_to IS NULL |
0.00006 | SELECT search_for, replace_with FROM punbb_censoring |
0.00158 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=18184 ORDER BY p.id LIMIT 0,25 |
0.00097 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=18184 |
Total query time: 0.00683 s |