Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[转换] 如何从GB2312码转化到utf8码?

[复制链接]
gaoshikao 发表于 2006-10-31 11:08:34 | 显示全部楼层 |阅读模式
如题
我弄了模版真不容易啊
有没有转码的工具?
不会让我用记事本一个文件一个文件转吧?
如果只能这样
那具体的转化流程是怎样的?
转化后的汉字在phpmyadmin里显示是汉字吗?能不能正常显示?
高手指导
紫琼 发表于 2006-10-31 11:14:44 | 显示全部楼层
数据库字符集为gbk的论坛后台备份数据的时候“强制字符集”有utf8的选项,选择即可。
回复

使用道具 举报

 楼主| gaoshikao 发表于 2006-10-31 11:23:57 | 显示全部楼层
但是我apache的默认编码是utf8的
转化过去页面都是乱码
回复

使用道具 举报

紫琼 发表于 2006-10-31 11:37:00 | 显示全部楼层

回复 #3 gaoshikao 的帖子

apache根本没有什么编码 不知道楼主什么意思
回复

使用道具 举报

 楼主| gaoshikao 发表于 2006-10-31 11:42:52 | 显示全部楼层
apache有adddefaultcharser utf-8
我设置的目的主要是考虑到国际化和能很好的支持ajax
因为要和主站联系在一起
所以想把以前的GB2312转成utf-8的
apache那样设置后
整个页面都是乱吗了(论坛)
主站我改好了
www.helmars.com/index.php
www.helmars.com/bbs
我在本地改
服务器上的乐队浏览里用到ajax
第二次点击就是乱码了
网站由于还要加其他国家语言的资料
所以要用utf-8码了

[ 本帖最后由 gaoshikao 于 2006-10-31 11:46 编辑 ]
回复

使用道具 举报

 楼主| gaoshikao 发表于 2006-10-31 12:07:47 | 显示全部楼层
一天一夜没睡觉了
就在等有人能回答一下..
回复

使用道具 举报

onzz 发表于 2006-10-31 12:34:02 | 显示全部楼层
帮顶下吧...         
回复

使用道具 举报

cdestiny 发表于 2006-10-31 19:32:04 | 显示全部楼层
我所知道的


  1. ALTER DATABASE database CHARACTER SET utf8 COLLATE utf8_general_ci;
  2. ALTER TABLE {each table name} CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
复制代码


Charater set 你自己选者,我的是utf8,希望帮到你。
回复

使用道具 举报

sylj001 发表于 2006-10-31 19:55:22 | 显示全部楼层
全部备份 包括全部论坛数据表数据
标准备份(推荐) 包括常用的数据表数据
最小备份 仅包括用户、版块设置及系统设置数据
自定义备份 根据需要自行选择需要备份的数据表
Discuz! 论坛数据表  全选  
cdb_access  cdb_activities  cdb_activityapplies  cdb_adminactions
cdb_admingroups  cdb_adminnotes  cdb_adminsessions  cdb_advertisements
cdb_announcements  cdb_attachments  cdb_attachtypes  cdb_banned
cdb_bbcodes  cdb_blogcaches  cdb_buddys  cdb_creditslog
cdb_crons  cdb_failedlogins  cdb_favorites  cdb_forumfields
cdb_forumlinks  cdb_forums  cdb_medals  cdb_memberfields
cdb_members  cdb_moderators  cdb_modworks  cdb_myposts
cdb_mythreads  cdb_onlinelist  cdb_onlinetime  cdb_orders
cdb_paymentlog  cdb_pluginhooks  cdb_plugins  cdb_pluginvars
cdb_pms  cdb_pmsearchindex  cdb_polloptions  cdb_polls
cdb_posts  cdb_profilefields  cdb_promotions  cdb_pushedthreads
cdb_ranks  cdb_ratelog  cdb_regips  cdb_relatedthreads
cdb_rewardlog  cdb_rsscaches  cdb_searchindex  cdb_sessions
cdb_settings  cdb_smilies  cdb_stats  cdb_statvars
cdb_styles  cdb_stylevars  cdb_subscriptions  cdb_templates
cdb_threads  cdb_threadsmod  cdb_threadtypes  cdb_tradelog
cdb_trades  cdb_usergroups  cdb_validating  cdb_words

数据备份方式
系统 MySQL Dump (Shell) 备份   
Discuz! 分卷备份 - 文件长度限制(kb)  
数据备份选项
使用扩展插入(Extended Insert)方式  是    否
添加字符集限定(SET NAMES)  是    否
建表语句格式  默认    MySQL 3.23/4.0.x    MySQL 4.1.x/5.x   
强制字符集  默认
十六进制方式  是    否
备份文件名:  


没有找到强制为UTF8的选项
回复

使用道具 举报

 楼主| gaoshikao 发表于 2006-11-1 02:00:35 | 显示全部楼层
首先在config.inc.php 里设置$charset = 'utf-8';       
然后把\templates\default里下所有.php文件另存为uft8编码
另外把自己修改的模版中或者源程序中有汉字的所有文件另存为utf8编码
这样页面就显示正常了
但是由于discuz本身代码的问题
对utf8的支持性不好
所以可能在某些地方会提示错误
希望高手解决 或者 官方去休正发布新版本
如我的设置改后 后台在编辑论坛版块的地方出现 (本地测试)
Fatal error: Cannot use string offset as an array in C:\Apache2\htdocs\bbs\admin\forums.inc.php on line 742
而且在帖子里管理员或斑竹平分的地方出现
Fatal error: Cannot use string offset as an array in C:\Apache2\htdocs\bbs\forumdata\templates\1_viewthread.tpl.php on line 307
而且主题分类无法显示

问题多多 希望高手不吝赐教
为什么discuz 官方不用utf-8版本呢

[ 本帖最后由 gaoshikao 于 2006-11-1 02:05 编辑 ]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2025-1-8 02:12 , Processed in 0.028451 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表