In my emacs (21.4) utf-8-emacs is not defined (but utf-8 is) so `bbdb-file-coding-system' defaults to iso-2022-7bit. Running Ubuntu (Dapper) with UTF-8 all over the place and trying to store Norwegian characters in that format leads to garbage when trying to view the names, eg. "Hødnebø" is shown as "HødnebÃÂ".
Since the documentation of bbdb-file-coding-system' tells me that it should not be changed by me I had to: (define-coding-system-alias 'utf-8-emacs 'utf-8) before loading bbdb. This fixes my problem, but utf-8 could have been incorporated in the bbdb-file-coding-system definition, e.g.: (defconst bbdb-file-coding-system (if (fboundp 'coding-system-p) (cond ((coding-system-p 'utf-8-emacs) 'utf-8-emacs) ((coding-system-p 'utf-8) 'utf-8) (t 'iso-2022-7bit))) "Coding system used for reading and writing `bbdb-file'. This should not be changed by users.") Or is there something else I should have done? The Info pages don't tell me anything about coding-system. Affi Emacs : GNU Emacs 21.4.1 (i486-pc-linux-gnu, X toolkit, Xaw3d scroll bars) of 2006-02-23 on vernadsky, modified by Debian Package: BBDB 2.35 current state: ============== (setq emacs-version "21.4.1" bbdb-version-date "$Date: 2005/09/06 21:39:51 $" bbdb-file-format 6 bbdb-no-duplicates-p nil bbdb-address-editing-function 'bbdb-address-edit-default bbdb-address-formatting-alist '((bbdb-address-is-continental . bbdb-format-address-continental) (nil . bbdb-format-address-default)) bbdb-addresses-label-list '("Home" "Office" "Mobile" "Other" "heme" "Stavanger") bbdb-after-change-hook '(bbdb/gnus-score-invalidate-alist) bbdb-after-read-db-hook nil bbdb-always-add-addresses 'ask bbdb-auto-notes-alist nil bbdb-auto-notes-ignore nil bbdb-auto-notes-ignore-all nil bbdb-auto-revert-p nil bbdb-canonical-hosts "cs\\.cmu\\.edu\\|ri\\.cmu\\.edu\\|edrc\\.cmu\\.edu\\|andrew\\.cmu\\.edu\\|mcom\\.com\\|netscape\\.com\\|cenatls\\.cena\\.dgac\\.fr\\|cenaath\\.cena\\.dgac\\.fr\\|irit\\.fr\\|enseeiht\\.fr\\|inria\\.fr\\|cs\\.uiuc\\.edu\\|xemacs\\.org" bbdb-canonicalize-net-hook nil bbdb-canonicalize-redundant-nets-p t bbdb-case-fold-search t bbdb-change-hook 'bbdb-timestamp-hook bbdb-check-zip-codes-p t bbdb-complete-name-allow-cycling nil bbdb-complete-name-hooks nil bbdb-completion-display-record t bbdb-completion-type nil bbdb-continental-zip-regexp "^\\s *[A-Z][A-Z]?\\s *-\\s *[0-9][0-9][0-9]" bbdb-create-hook 'bbdb-creation-date-hook bbdb-default-area-code nil bbdb-default-country "Emacs" bbdb-default-domain nil bbdb-default-label-list '("Home" "Office" "Mobile" "Other") bbdb-define-all-aliases-field 'mail-alias bbdb-define-all-aliases-mode 'first bbdb-dial-local-prefix nil bbdb-dial-local-prefix-alist '(((if (integerp bbdb-default-area-code) (format "(%03d)" bbdb-default-area-code) (or bbdb-default-area-code "")) "") ) bbdb-dial-long-distance-prefix nil bbdb-display-layout 'multi-line bbdb-display-layout-alist '((one-line (order phones mail-alias net notes) (name-end . 24) (toggle . t)) (multi-line (omit creation-date timestamp) (toggle . t)) (pop-up-multi-line) (full-multi-line)) bbdb-dwim-net-address-allow-redundancy nil bbdb-electric-p nil bbdb-expand-mail-aliases t bbdb-extract-address-component-handler 'message bbdb-extract-address-component-ignore-regexp "\\(\\(undisclosed\\|unlisted\\)[^,]*recipients\\)\\|no To-header on input" bbdb-extract-address-component-regexps '(("\"\\([^\"]*\\)\"\\s-*<\\([^>]+\\)>" (bbdb-clean-username (match-string 1 adstring) ) 2) ("\\([^<>, ][^<>,]+[^<>, ]\\)\\s-*<\\([^>]+\\)>" 1 2) ("<\\([^>,]+\\)>" nil 1) ("\\(\\b[^<\",()]+\\b\\)\\s-*(\\([^)]+\\))" (car (mail-extract-address-components (concat "\"" (match-string 2 adstring) "\"") ) ) 1) ("\\b\\(\\([^@ \n.]+\\.[^@ \n.]+\\)@[^@ \n]+\\)\\b" (car (mail-extract-address-components (concat "\"" (match-string 2 adstring) "\"") ) ) 1) ("\\b\\(\\([^@ \n]+\\)@[^@ \n]+\\)\\b" nil 1) ("\\b\\([^@ \n]+\\)\\b" nil 1)) bbdb-extract-address-components-func 'bbdb-rfc822-addresses bbdb-file "~/.bbdb" bbdb-file-remote nil bbdb-file-remote-save-always t bbdb-finger-buffer-name "*finger*" bbdb-finger-host-field 'finger-host bbdb-get-addresses-headers '((authors "From" "Resent-From" "Reply-To") (recipients "Resent-To" "Resent-CC" "To" "CC" "BCC") ) bbdb-get-only-first-address-p t bbdb-gui t bbdb-hashtable-size 1021 bbdb-ignore-most-messages-alist nil bbdb-ignore-selected-messages-confirmation nil bbdb-ignore-some-messages-alist nil bbdb-info-file nil bbdb-initialize-hook nil bbdb-lastname-prefixes '("von" "Von" "de" "De") bbdb-legal-zip-codes '("^$" "^[ \n]*[0-9][0-9]?[0-9]?[0-9]?[0-9]?[0-9]?[ \n]*$" "^[ \n]*\\([0-9][0-9][0-9][0-9][0-9]\\)[ \n]*-?[ \n]*\\([0-9][0-9][0-9][0-9]?\\)[ \n]*$" "^[ \n]*\\([A-Za-z0-9]+\\)[ \n]+\\([A-Za-z0-9]+\\)[ \n]*$" "^[ \n]*\\([A-Z]+\\)[ \n]*-?[ \n]*\\([0-9]+ ?[A-Z]*\\)[ \n]*$" "^[ \n]*\\([A-Z]+\\)[ \n]*-?[ \n]*\\([0-9]+\\)[ \n]+\\([0-9]+\\)[ \n]*$") bbdb-list-hook nil bbdb-load-hook nil bbdb-mail-abbrev-expand-hook nil bbdb-message-caching-enabled t bbdb-message-marker-field 'mark-char bbdb-mode-hook nil bbdb-modem-device "/dev/modem" bbdb-modem-dial nil bbdb-multiple-buffers nil bbdb-new-nets-always-primary nil bbdb-north-american-phone-numbers-p nil bbdb-notes-default-separator ", " bbdb-notes-sort-order '((notes . 0) (www . 1) (ftp . 2) (gopher . 3) (telnet . 4) (mail-alias . 5) (mail-folder . 6) (lpr . 7) (creation-date . 1000) (timestamp . 1001)) bbdb-notice-auto-save-file t bbdb-notice-hook nil bbdb-offer-save 'save bbdb-phones-label-list '("Home" "Office" "Mobile" "Other" "heme" "mobil" "jobb" "Orkdal" "job" "mobile" "lab" "lesesal" "Konglungen" "persons\370ker") bbdb-pop-up-display-layout 'pop-up-multi-line bbdb-pop-up-target-lines 5 bbdb-quiet-about-name-mismatches nil bbdb-readonly-p nil bbdb-refile-notes-default-merge-function 'bbdb-refile-notes-default-merge-function bbdb-refile-notes-generate-alist '((creation-date . bbdb-refile-notes-string-least) (timestamp . bbdb-refile-notes-string-most) ) bbdb-save-db-timeout nil bbdb-send-mail-style nil bbdb-silent-running nil bbdb-snarf-web-prop 'www bbdb-sound-files nil bbdb-sound-player nil bbdb-sound-volume 50 bbdb-time-display-format "%d %b %Y" bbdb-update-records-mode 'annotating bbdb-use-alternate-names t bbdb-use-pop-up nil bbdb-user-mail-names "\\b\\(alfh\\|affi\\)\\b" bbdb-user-menu-commands nil bbdb-write-file-hooks '(bbdb-write-file-hook-fn) bbdb/gnus-lines-and-from-length 18 bbdb/gnus-score-default nil bbdb/gnus-score-field 'gnus-score bbdb/gnus-split-crosspost-default nil bbdb/gnus-split-default-group "mail.misc" bbdb/gnus-split-myaddr-regexp "^affi$\\|[EMAIL PROTECTED]([-a-z0-9]+\\.\\)*gorgon.mnemonic.no$" bbdb/gnus-split-nomatch-function nil bbdb/gnus-split-private-field 'gnus-private bbdb/gnus-split-public-field 'gnus-public bbdb/gnus-summary-in-bbdb-format-letter "b" bbdb/gnus-summary-known-poster-mark "+" bbdb/gnus-summary-mark-known-posters t bbdb/gnus-summary-prefer-bbdb-data t bbdb/gnus-summary-prefer-real-names t bbdb/gnus-summary-show-bbdb-names t bbdb/gnus-summary-user-format-letter "B" bbdb/gnus-update-records-mode 'annotating bbdb/mail-auto-create-p t bbdb/news-auto-create-p nil bbdb/vm-set-auto-folder-alist-field 'vm-folder bbdb/vm-set-auto-folder-alist-headers '("From:" "To:" "CC:") features '(mailalias reporter flow-fill bbdb-hooks bbdb-gui gnus-cite smiley ansi-color gnus-async gnus-bcklg parse-time sort gnus-ml mailcrypt byte-opt bytecomp byte-compile nnfolder utf7 nnimap imap nndraft nnmh bbdb-gnus bbdb-snarf mail-extr bbdb-com nnagent nnml gnus-agent gnus-srvr gnus-score nnvirtual gnus-msg gnus-art mm-uu mml2015 pgg pgg-parse pgg-def mm-view gnus-sum gnus-group gnus-undo nntp nnoo nnmail mail-source gnus-cache bbdb timezone smtpmail time-stamp gnus-start gnus-spec gnus-int gnus-range message rfc822 mml mml-sec mml-smime smime password smime-ldap ldap dig mm-decode mm-bodies mm-encode mailcap mail-parse rfc2045 rfc2231 rfc2047 qp ietf-drums mailabbrev sendmail gmm-utils mailheader canlock sha1 executable hex-util gnus-win gnus gnus-ems nnheader mail-utils score-mode gnus-util netrc mm-util mule-util mail-prsvr hideshow expand revive jka-compr erc-autojoin erc-button wid-edit erc-ring comint ring erc-pcomplete time-date pcomplete erc-track erc-match erc-fill erc-stamp erc-netsplit erc-goodies erc erc-menu erc-backend erc-compat format-spec thingatpt pp init-frame bellona-help disp-table paren cursor-colour iswitchb edmacro cl cl-19 init-ispell ispell init-calendar calendar-hack calendar cal-menu easymenu time image wdired advice advice-preload dired-x dired-aux dired gnus-load jit-lock font-lock regexp-opt w3m-load mailcrypt-init erc-auto bbdb-autoloads tooltip fontset ediff-hook vc-hooks lisp-float-type lisp-mode page menu-bar timer select scroll-bar mldrag mouse facemenu faces cus-face frame ucs-tables misc-lang vietnamese tibetan thai lao korean japanese hebrew greek romanian slovak czech european ethiopic devanagari indian cyrillic chinese case-table help overlay md5 base64 format mule env backquote custom widget x-toolkit) ) ------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid0709&bid&3057&dat1642 _______________________________________________ bbdb-info@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bbdb-info BBDB Home Page: http://bbdb.sourceforge.net/