繁体、日文网站该如何制作??????

「已注销」 2003-08-19 11:06:30
现在需要做个网站,实现简体、英文、繁体、日文四种语言,在简体操作系统中输入繁体和日文再用繁体和日文编码打开变成乱码,是否一定要建立繁体和日文操作系统呢?在简体中文win下没法作这样的输入么?一般如何解决?数据库里能够正确存放不同文字么?有经验者请多多指教!!!!!!!!!1在线等待……………………
...全文
97 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
「已注销」 2003-08-22
  • 打赏
  • 举报
回复
其实我的需求比较简单,就是做四种语言的一个网站,简单地用四个入口就行了,原来解决不了的是文字输入那一关,在dreamweaver里在big5下输入繁体都是乱码,单是建三个各国语言win平台当然可以解决,但美工相对较难操作,而且文字输入会请人做,万一还是在简体环境下输入繁体,页面还是会变成乱码的!现在已经解决了,在区域设置里改变自己的语言环境,然后决不能用dreamweaver,必须用frontpage,要不然还是乱码!!!!我尝试了很多次都失败就是坏在太信任dreamweaver上了!
「已注销」 2003-08-19
  • 打赏
  • 举报
回复
能说的具体点么?假如我就在简体中文系统里面编辑日文网页不会出现编码问题么?有没有做过相关方面网站的高手阿,指教指教……
凯晰叶子 2003-08-19
  • 打赏
  • 举报
回复
服务器也要支持这些才行!
最关键的是你的插件要找多点可供下载!
你自己设计时最好用一样的软件编辑
「已注销」 2003-08-19
  • 打赏
  • 举报
回复
安装ie的相应语言输入法插件
请问在那儿下载?
问题是我们的网页制作肯定是用dreamweaver等制作的,如何保证输入的是正确的编码方式?
xuzuning 2003-08-19
  • 打赏
  • 举报
回复
安装ie的相应语言输入法插件,并使用微软的输入法输入。此时输入的是unicode编码
安装ie的相应语言显示插件,此时ie可自动识别语言种类并做正确的显示

数据库里能够正确存放不同文字
xuzuning 2003-08-19
  • 打赏
  • 举报
回复
1、gbk编码集(936代码页)是中、日、韩及台湾三国四方制定的字符编码标准。已存在的编码集将逐步向其靠拢
2、php的mbstring扩展库由日本人开发,主要功能之一就是将日文目前的两种代码集向unicode转换
3、只要页面语言编码使用utf-8,并对各语言做utf-8转换。则各种语言将共存于同一页面。
当然浏览器要安装相应的语言插件
feyge 2003-08-19
  • 打赏
  • 举报
回复
其实你可以参考看看phpmyadmin的多语言的做法的

楼上有个方法是繁简转换,用什么函数,好是好。但如果又有一个日文或英文版,有相应的码表吗?
sseraph 2003-08-19
  • 打赏
  • 举报
回复
就我的经验来说,繁简体的自动转换问题不大,如果在简体系统上转入繁体文件,象Editplus一类的软件,是显示乱码,但不要管它,保存,在页面上转换显示后是正确的繁体文字。但在象Frontpage一类的软件里,打入繁体字,有时候会是完全无效的乱码,有时候就会是正常的繁体字,这和打开文件的meat信息里的内码设置有关。

对于英文和日文的,就谈不上转换了,等于是另一套页面,只是文字不同
sseraph 2003-08-19
  • 打赏
  • 举报
回复
给你一个站看:
http://www.ipvlink.com.tw/index.php?c_lang=GB 这是简体
http://www.ipvlink.com.tw/index.php?c_lang=BIG5 这是繁体

在系统设置中定义好初始的内码,然后在页面中所用的可以是简或繁中的一种,但一定要所有页面都统一:
$init_charset="GB";
/*************************************************
IMG setting
*************************************************/
if ($c_lang=="GB") {
$image="/image/";
}
if ($c_lang=="BIG5") {
$image="/image/big5/";
}

再在所有PHP的头里加上转换的代码:
/*************************************************
BIG5<==>GB
*************************************************/
if ($_REQUEST['c_lang']!="") {
$c_lang=$_REQUEST['c_lang'];
}
else if ($_SESSION['c_lang']!="") {
$c_lang=$_SESSION['c_lang'];
}
else {
//自动转换繁简,需要php.ini中register_globals = on
$c_lang="BIG5";
if ($HTTP_ACCEPT_LANGUAGE=="zh-cn") {
$c_lang="GB";
}
if ($HTTP_ACCEPT_LANGUAGE=="zh-tw") {
$c_lang="BIG5";
}
}
$_SESSION['c_lang']=$c_lang;
?>
<?
ob_start();
?>
在所有PHP文件的最后加代码:
<?
$chang_lang=$c_lang;
if (($chang_lang)!="") {
if ($chang_lang==$init_charset) {
$chang_lang="";
}
}

$RealOutput = ob_get_contents();
ob_end_clean();
if ($chang_lang=="GB") {
$code=new CCharset($inc_path);
$RealOutput=$code->Big5_Gb($RealOutput);
}
if ($chang_lang=="BIG5") {
$code=new CCharset($inc_path);
$RealOutput=$code->Gb_Big5($RealOutput);
}
echo $RealOutput;

if (isset($db)) $db->free;
?>

里面调用的转换函数如下:
<?
/**************************
繁简转换:
**************************/
class CCharset {
var $gb_map;
var $big5_map;
var $dep_char = 127;

function CCharset($path) {
$this->gb_map=$path."/gb.map";
$this->big5_map=$path."/big5.map";
echo $big5_map;
}

function cbig5_gb($str,$fd) {
$c=ord(substr($str,0,1));
$x=ord(substr($str,1,1));
$address=(($c-160)*510)+($x-1)*2;
fseek($fd, $address);
$hi=fgetc($fd);
$lo=fgetc($fd);
return "$hi$lo";
}

function cgb_big5($str,$fd) {
$c=ord(substr($str,0,1));
$x=ord(substr($str,1,1));
$address=(($c-160)*510)+($x-1)*2;
fseek($fd, $address);
$hi=fgetc($fd);
$lo=fgetc($fd);
return "$hi$lo";
}

function Big5_Gb($str) {
$fd = fopen ($this->gb_map, "r");
$str=str_replace("charset=BIG5","charset=gb2312", $str);
$str=str_replace("charset=big5","charset=gb2312", $str);
$outstr="";
for($i=0;$i<strlen($str);$i++) {
$ch=ord(substr($str,$i,1));
if($ch > $this->dep_char) {
$outstr.=$this->cbig5_gb(substr($str,$i,2),$fd);
$i++;

} else {
$outstr.=substr($str,$i,1);
}
}
fclose ($fd);
return $outstr;
}

function Gb_Big5($str) {
$fd = fopen ($this->big5_map, "r");
$str=str_replace("charset=gb2312","charset=big5", $str);
$outstr="";
for($i=0;$i<strlen($str);$i++) {
$ch=ord(substr($str,$i,1));
if($ch > $this->dep_char) {
$outstr.=$this->cgb_big5(substr($str,$i,2),$fd);
$i++;
} else {
$outstr.=substr($str,$i,1);
}
}
fclose ($fd);
return $outstr;
}

}
?>
用到的繁简体的码表文件是gb.map和big5.map,可以到网上搜一下,或者给我发MAIL,我再发给你
xuzuning 2003-08-19
  • 打赏
  • 举报
回复
1、插件在ie的安装包或升级包里
2、使用微软输入法,不会出现编码问题

计算机应用是一个实践性很强的东西,希望你动动手
taogx 2003-08-19
  • 打赏
  • 举报
回复
全部使用UTF-8编码

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧