summaryrefslogtreecommitdiff
path: root/docs/docbook/projdoc/unicode.xml
diff options
context:
space:
mode:
Diffstat (limited to 'docs/docbook/projdoc/unicode.xml')
-rw-r--r--docs/docbook/projdoc/unicode.xml177
1 files changed, 177 insertions, 0 deletions
diff --git a/docs/docbook/projdoc/unicode.xml b/docs/docbook/projdoc/unicode.xml
new file mode 100644
index 0000000000..699f29f1ba
--- /dev/null
+++ b/docs/docbook/projdoc/unicode.xml
@@ -0,0 +1,177 @@
+<chapter id="unicode">
+<chapterinfo>
+ &author.jelmer;
+ &author.jht;
+ <author>
+ <firstname>TAKAHASHI</firstname><surname>Motonobu</surname>
+ <affiliation>
+ <address><email>monyo@home.monyo.com</email></address>
+ </affiliation>
+ </author>
+ <pubdate>25 March 2003</pubdate>
+</chapterinfo>
+
+<title>Unicode/Charsets</title>
+
+<sect1>
+<title>Features and Benefits</title>
+
+<para>
+Every industry eventually matures. One of the great areas of maturation is in
+the focus that has been given over the past decade to make it possible for anyone
+anywhere to use a computer. It has not always been that way, in fact, not so long
+ago it was common for software to be written for exclusive use in the country of
+origin.
+</para>
+
+<para>
+Of all the effort that has been brought to bear on providing native language support
+for all computer users, the efforts of the <ulink url="http://www.openi18n.org/">Openi18n organization</ulink> is deserving of
+special mention.
+</para>
+
+<para>
+Samba-2.x supported a single locale through a mechanism called
+<emphasis>codepages</emphasis>. Samba-3 is destined to become a truly trans-global
+file and printer-sharing platform.
+</para>
+
+</sect1>
+
+<sect1>
+<title>What Are Charsets and Unicode?</title>
+
+<para>
+Computers communicate in numbers. In texts, each number will be
+translated to a corresponding letter. The meaning that will be assigned
+to a certain number depends on the <emphasis>character set (charset)
+</emphasis> that is used.
+</para>
+
+<para>
+A charset can be seen as a table that is used to translate numbers to
+letters. Not all computers use the same charset (there are charsets
+with German umlauts, Japanese characters, and so on). Usually a charset contains
+256 characters, which means that storing a character with it takes
+exactly one byte. </para>
+
+<para>
+There are also charsets that support even more characters,
+but those need twice as much storage space (or more). These
+charsets can contain <command>256 * 256 = 65536</command> characters, which
+is more than all possible characters one could think of. They are called
+multibyte charsets because they use more then one byte to
+store one character.
+</para>
+
+<para>
+A standardized multibyte charset is <ulink url="http://www.unicode.org/">unicode</ulink>.
+A big advantage of using a multibyte charset is that you only need one; there
+is no need to make sure two computers use the same charset when they are
+communicating.
+</para>
+
+<para>Old Windows clients use single-byte charsets, named
+<parameter>codepages</parameter>, by Microsoft. However, there is no support for
+negotiating the charset to be used in the SMB/CIFS protocol. Thus, you
+have to make sure you are using the same charset when talking to an older client.
+Newer clients (Windows NT, 200x, XP) talk unicode over the wire.
+</para>
+</sect1>
+
+<sect1>
+<title>Samba and Charsets</title>
+
+<para>
+As of Samba-3.0, Samba can (and will) talk unicode over the wire. Internally,
+Samba knows of three kinds of character sets:
+</para>
+
+<variablelist>
+ <varlistentry>
+ <term><smbconfoption><name>unix charset</name></smbconfoption></term>
+ <listitem><para>
+ This is the charset used internally by your operating system.
+ The default is <constant>UTF-8</constant>, which is fine for most
+ systems, which covers all characters in all languages. The default in previous Samba releases was <constant>ASCII</constant>.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><smbconfoption><name>display charset</name></smbconfoption></term>
+ <listitem><para>This is the charset Samba will use to print messages
+ on your screen. It should generally be the same as the <parameter>unix charset</parameter>.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><smbconfoption><name>dos charset</name></smbconfoption></term>
+ <listitem><para>This is the charset Samba uses when communicating with
+ DOS and Windows 9x/Me clients. It will talk unicode to all newer clients.
+ The default depends on the charsets you have installed on your system.
+ Run <command>testparm -v | grep "dos charset"</command> to see
+ what the default is on your system.
+ </para></listitem>
+ </varlistentry>
+</variablelist>
+
+</sect1>
+
+<sect1>
+<title>Conversion from Old Names</title>
+
+<para>Because previous Samba versions did not do any charset conversion,
+characters in filenames are usually not correct in the UNIX charset but only
+for the local charset used by the DOS/Windows clients.</para>
+
+</sect1>
+
+<sect1>
+<title>Japanese Charsets</title>
+
+<para>Samba does not work correctly with Japanese charsets yet. Here are
+points of attention when setting it up:</para>
+
+<itemizedlist>
+
+ <listitem><para>You should set <smbconfoption><name>mangling method</name><value>hash</value></smbconfoption></para></listitem>
+
+ <listitem><para>There are various iconv() implementations around and not
+ all of them work equally well. glibc2's iconv() has a critical problem
+ in CP932. libiconv-1.8 works with CP932 but still has some problems and
+ does not work with EUC-JP.</para></listitem>
+
+ <listitem><para>You should set <smbconfoption><name>dos charset</name><value>CP932</value></smbconfoption>, not
+ Shift_JIS, SJIS.</para></listitem>
+
+ <listitem><para>Currently only <smbconfoption><name>UNIX charset</name><value>CP932</value></smbconfoption>
+ will work (but still has some problems...) because of iconv() issues.
+ <smbconfoption><name>UNIX charset</name><value>EUC-JP</value></smbconfoption> does not work well because of
+ iconv() issues.</para></listitem>
+
+ <listitem><para>Currently Samba-3.0 does not support <smbconfoption><name>UNIX charset</name><value>UTF8-MAC/CAP/HEX/JIS*</value></smbconfoption>.</para></listitem>
+
+</itemizedlist>
+
+<para>More information (in Japanese) is available at: <ulink noescape="1" url="http://www.atmarkit.co.jp/flinux/special/samba3/samba3a.html">http://www.atmarkit.co.jp/flinux/special/samba3/samba3a.html</ulink>.</para>
+
+</sect1>
+
+<sect1>
+ <title>Common Errors</title>
+
+ <sect2>
+ <title>CP850.so Can't Be Found</title>
+
+ <para><quote>Samba is complaining about a missing <filename>CP850.so</filename> file.</quote></para>
+
+ <para><emphasis>Answer:</emphasis> CP850 is the default <smbconfoption><name>dos charset</name></smbconfoption>.
+ The <smbconfoption><name>dos charset</name></smbconfoption> is used to convert data to the codepage used by your dos clients.
+ If you do not have any dos clients, you can safely ignore this message. </para>
+
+ <para>CP850 should be supported by your local iconv implementation. Make sure you have all the required packages installed.
+ If you compiled Samba from source, make sure to configure found iconv.</para>
+ </sect2>
+</sect1>
+
+</chapter>