<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>家有小虎 &#187; MySQL</title>
	<atom:link href="http://jiahu.net/tag/mysql/feed" rel="self" type="application/rss+xml" />
	<link>http://jiahu.net</link>
	<description>我在路上, 你不在身旁. 想你的时候, 温暖依然.</description>
	<lastBuildDate>Fri, 23 Mar 2012 04:47:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>多语言网站解决方案</title>
		<link>http://jiahu.net/%e5%a4%9a%e8%af%ad%e8%a8%80%e7%bd%91%e7%ab%99%e8%a7%a3%e5%86%b3%e6%96%b9%e6%a1%88.htm</link>
		<comments>http://jiahu.net/%e5%a4%9a%e8%af%ad%e8%a8%80%e7%bd%91%e7%ab%99%e8%a7%a3%e5%86%b3%e6%96%b9%e6%a1%88.htm#comments</comments>
		<pubDate>Tue, 20 Jan 2009 05:47:48 +0000</pubDate>
		<dc:creator>@ouc</dc:creator>
				<category><![CDATA[工作]]></category>
		<category><![CDATA[技术]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[多语言]]></category>

		<guid isPermaLink="false">http://cngator.net/?p=859</guid>
		<description><![CDATA[前言： 多语言网站开发，重点的还是在解决语言之间的问题。 那如何解决这个问题呢？大概就分三步走： 1.页面多语言 2.数据库多语言 3.用户访问语言统一 1.页面多语言 需要考虑的问题： A.用户登陆时候，自动识别字符，调用不同的语言包？ B.用户切换不同语言时候，调用不同的语言包？ C.增加多语言后的目录结构？ 页面多语言也就是外观的多语言化，这里可以采用静态的语言包的方式。 设计时候就应该包括language的目录，针对不同语言有独立的子目录。 如英文language/en ,简体中文language/gb,繁体中文language/b5 （可以扩展其他语言） 每个目录下就包含了对每个页面的语言版本。选择语言版本时候就可以调用相应版本的语言包。 具体做法： 0.利用js语言，识别浏览器语言，在调用不同的语言包. 1.language/en/global.ln是针对英文版的全局语言包。 2.global.ln 内容为： $title = “English webstie”; $charset = “UTF-8&#8243;; 3.index.php调用： &#60; ?php require_once() ?&#62; r /&#62; &#60;meta http-equiv=”content-type” content=”text/html;charset=$charset”&#62;&#60;br /&#62; &#60;/meta&#62; 这样通过扩展就可以实现页面的多语言化. 2.数据库多语言 这个考虑的问题： A.后台录入数据的多语言化？ B.用户在不同版本下，提交的内容，如何保存？ C.提供三种语言包，还是提供英文和简体，简体通过转化提供繁体？ 数据库多语言就是达到多语言在数据库里面的统一。就需要采用utf-8统一编码。 无论什么语言的文字，都统一使用utf-8来存放到数据库里面。采用表字段来表识 属于什么语言版本的文字。 具体： A.对于后台添加的问题： 1.后台添加时候，就需要多语言化的录入。先建立一个以utf-8编码的数据库，录入英文/简体，简体在通过转化为繁体， 再以utf-8编码方式存于数据库中。 2.建立以utf-8为编码的表结构，importlanguage标识属于什么语言版本 <a href="http://jiahu.net/%e5%a4%9a%e8%af%ad%e8%a8%80%e7%bd%91%e7%ab%99%e8%a7%a3%e5%86%b3%e6%96%b9%e6%a1%88.htm"> read more <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[<p>前言：<br />
多语言网站开发，重点的还是在解决语言之间的问题。<br />
那如何解决这个问题呢？大概就分三步走：</p>
<p>1.页面多语言<br />
2.数据库多语言<br />
3.用户访问语言统一</p>
<p>1.页面多语言<br />
需要考虑的问题：<br />
A.用户登陆时候，自动识别字符，调用不同的语言包？<br />
B.用户切换不同语言时候，调用不同的语言包？<br />
C.增加多语言后的目录结构？</p>
<p>页面多语言也就是外观的多语言化，这里可以采用静态的语言包的方式。<br />
设计时候就应该包括language的目录，针对不同语言有独立的子目录。<br />
如英文language/en ,简体中文language/gb,繁体中文language/b5 （可以扩展其他语言）<br />
每个目录下就包含了对每个页面的语言版本。选择语言版本时候就可以调用相应版本的语言包。</p>
<p>具体做法：<br />
0.利用js语言，识别浏览器语言，在调用不同的语言包.</p>
<p>1.language/en/global.ln是针对英文版的全局语言包。</p>
<p>2.global.ln 内容为：<br />
$title = “English webstie”;<br />
$charset = “UTF-8&#8243;;</p>
<p>3.index.php调用：<br />
&lt; ?php<br />
require_once()<br />
?&gt;<br />
r /&gt; &lt;meta http-equiv=”content-type” content=”text/html;charset=$charset”&gt;&lt;br /&gt; &lt;/meta&gt;</p>
<p>这样通过扩展就可以实现页面的多语言化.</p>
<p>2.数据库多语言<br />
这个考虑的问题：<br />
A.后台录入数据的多语言化？<br />
B.用户在不同版本下，提交的内容，如何保存？<br />
C.提供三种语言包，还是提供英文和简体，简体通过转化提供繁体？</p>
<p>数据库多语言就是达到多语言在数据库里面的统一。就需要采用utf-8统一编码。<br />
无论什么语言的文字，都统一使用utf-8来存放到数据库里面。采用表字段来表识<br />
属于什么语言版本的文字。</p>
<p>具体：</p>
<p>A.对于后台添加的问题：</p>
<p>1.后台添加时候，就需要多语言化的录入。先建立一个以utf-8编码的数据库，录入英文/简体，简体在通过转化为繁体，<br />
再以utf-8编码方式存于数据库中。</p>
<p>2.建立以utf-8为编码的表结构，importlanguage标识属于什么语言版本<br />
但在某个版本下，就搜索属于这个版本的文字来显示。其他文字不显示。<br />
DROP TABLE IF EXISTS `zz_importer`;<br />
CREATE TABLE IF NOT EXISTS `zz_importer` (<br />
`importID` int(11) NOT NULL auto_increment,<br />
`importTime` date NOT NULL default &#8217;0000-00-00&#8242;,<br />
`improtfile` varchar(100) NOT NULL default ”,<br />
`importlanguage` varchar(100) NOT NULL default ”<br />
PRIMARY KEY (`importID`)<br />
) ENGINE=MyISAM DEFAULT CHARSET=uft-8;</p>
<p>3.简体转化的繁体。<br />
利用php的iconv.此过程对于linux/unix有效，对于windows无效。<br />
iconv(“GB2312&#8243;,”BIG5&#8243;,$text);</p>
<p>4.因为,charset = “utf-8&#8243;,数据就都是以utf-8编码方式存在，<br />
添加数据时候,要分别用en/gb/big5来标识语言版本.<br />
INSERT INTO `zz_importer` VALUES (,”, ”, &#8216;en&#8217;);<br />
INSERT INTO `zz_importer` VALUES (,”, ”, &#8216;gb&#8217;);<br />
INSERT INTO `zz_importer` VALUES (,”, ”, &#8216;big5&#8242;);</p>
<p>B.对于用户添加的问题：<br />
1.假设下简体中文下.用户因为页面头为UTF-8.则用户浏览器会以utf-8编码<br />
方式浏览页面。</p>
<p>2.添加的数据库本身以utf-8方式存在。</p>
<p>3.添加数据时候,要分别用gb来标识语言版本<br />
INSERT INTO `zz_importer` VALUES (,”, ”, &#8216;gb&#8217;);</p>
<p>C.对于简体和繁体是单独提供还是转化问题</p>
<p>单独提供 &#8211; 比较符合多语言的标准,灵活性大,对ISP没有特别的要求。</p>
<p>转化提供 &#8211; 提交速度会受影响,同时要ISP提供iconv的函数支持。</p>
<p>3.用户访问语言统一</p>
<p>A.假设用户简体中文版时候：</p>
<p>所有语言版本都是这样。</p>
<p>B.调用language/gb的语言包。</p>
<p>C.搜索数据库有语言字段为gb的数据，并显示</p>
<p>D.当用户提交信息，参照上面数据库多语言的B问题。</p>
<p>数据库存放可以有几种方式的：</p>
<p>A.不同数据库来存放<br />
B.同一数据库不同表存放<br />
C.同一数据库同一表不同字段来存放</p>
<p>A.种方式，每种语言都建立一个数据库感觉就有点浪费了。</p>
<p>B种方式可能是比较多人采用的。基本是共有的就建立一个表来存放。<br />
每种语言私有的，就放到各自的表里面。</p>
<p>C种方式，感觉对于数据量不大的，也是好的方式。<br />
数据量太大，给单表的增大更快。造成负担。</p>
<p>来源: <a href="http://www.phpwind.net/simple/t84546.html" target="_blank">http://www.phpwind.net/simple/t84546.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://jiahu.net/%e5%a4%9a%e8%af%ad%e8%a8%80%e7%bd%91%e7%ab%99%e8%a7%a3%e5%86%b3%e6%96%b9%e6%a1%88.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

