免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3258 | 回复: 6
打印 上一主题 下一主题

改别人代码太麻烦了 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-02-23 10:04 |只看该作者 |倒序浏览
20可用积分
最近找个BTS(bug tracing system)的基版来做,其他的改的差不多了,但是想让它支持中文,日文或者其他语言,发现光改
html的meta的字符集和php文件的编码还是不行。请高手指点下一个表单在post的时候,如何可以存入英文之外的文字。

我上传了整个项目,请大家帮忙指点迷津。
解压后稍微修改下config.ini.php文件,然后把项目丢在apache下就可以了
php5是需要的

项目介绍:
1。主文件工作是:codetrack.php
2。所有数据都存在xml的文件夹下
3。附近存在attachments下
4。docs是项目使用文档

我就是搞不定在它的创建bug报告的时候,怎么把写在里面的中文,日文也存入xml文件。
我测试过,改了文件的charset或者encoding,再把文件的编码都改为utf8保存后
如果直接在xml文件里写中文,日文,英文,都可以在页面显示,但是在页面写入后,保存的时候除了英文
就什么都没有了。

codetrack_v_99_3.zip

114.3 KB, 下载次数: 41

最佳答案

查看完整内容

在codetrack.php中有多处地方将中文过滤掉了,屏蔽掉那些过滤代码就可以了。附件是已经屏蔽后的代码,在最后加了两个空的过滤模块,自己写一下就是了。

论坛徽章:
0
2 [报告]
发表于 2009-02-23 10:04 |只看该作者
在codetrack.php中有多处地方将中文过滤掉了,屏蔽掉那些过滤代码就可以了。
附件是已经屏蔽后的代码,在最后加了两个空的过滤模块,自己写一下就是了。

codetrack.rar (31.68 KB, 下载次数: 29)

论坛徽章:
0
3 [报告]
发表于 2009-02-23 13:12 |只看该作者
try mantis, trac, redmine, bugzilla etc

论坛徽章:
0
4 [报告]
发表于 2009-02-23 15:56 |只看该作者

hi, there

原帖由 leo_ss_pku 于 2009-2-23 14:12 发表
try mantis, trac, redmine, bugzilla etc


I have tried those toolkits you said these days.
I do, unfortunately,I turned out to be not fit for me.

1st, No need 4 database,
2nd, slight, tiny loading burden in order to run in mostly antiquated pc or linux
3rd, can be printed or download directly

but thanks a lot, you had me there。

I will post a diagram about these diff。

[ 本帖最后由 m@qintoshi 于 2009-2-23 16:58 编辑 ]

BTS-Compare.jpg (93.12 KB, 下载次数: 49)

BTS-Compare.jpg

论坛徽章:
0
5 [报告]
发表于 2009-02-25 15:27 |只看该作者
原帖由 sunnyfun 于 2009-2-23 11:04 发表
在codetrack.php中有多处地方将中文过滤掉了,屏蔽掉那些过滤代码就可以了。
附件是已经屏蔽后的代码,在最后加了两个空的过滤模块,自己写一下就是了。

317983

请问下这位php高手,我看别人都用什么
mb_convert_encoding('英文字This is a test<br />日文たしかにできたねぇ<br />简体字试验看看中文简体字<br />再看看繁體字是什麽樣子<br />קרובותלהלן. למערכות הפעלה בעברית ב<br />לEz a letöltés csakב', 'UTF-8',  'auto');
它这里用正则表达式反而给屏蔽了吧?
那么就是说其实不用上面的那个函数,MB_conver_encoding也可以?只要php文件本身编码是UTF8,html的meta的tag是utf8就足够了吧?

谢谢你耐心的看完整个项目文件。多谢指导。

论坛徽章:
0
6 [报告]
发表于 2009-02-25 18:06 |只看该作者
原帖由 m@qintoshi 于 2009-2-25 15:27 发表

请问下这位php高手,我看别人都用什么
mb_convert_encoding('英文字This is a test日文たしかにできたねぇ简体字试验看看中文简体字再看看繁體字是什麽樣子קרובות&#15 ...


这个程序之所以显示不出中文,不是因为显示的问题,而是在往xml写的时候就没有将项目信息里的中文写进去。你可以看看scrub_and_tag_form_data这个函数,这个函数是过滤表单的内容,里面用了
  1. #Only allow reasonable alphanumerics in text & dropdown fields

  2. $content = eregi_replace('[^ 0-9a-z_@#$%();:?+*!=&,/"' . "'\n\t.-]+", '', $untrusted_content);
复制代码

将一些非alphanumerics 都过滤掉了,所以中文在这里就被过滤掉了。你要解决能输入中文的问题就要将这个过滤的规则进行修改。

sunnyfun同学说的就是这个地方。

论坛徽章:
0
7 [报告]
发表于 2009-02-26 08:15 |只看该作者
原帖由 leicc 于 2009-2-25 19:06 发表


这个程序之所以显示不出中文,不是因为显示的问题,而是在往xml写的时候就没有将项目信息里的中文写进去。你可以看看scrub_and_tag_form_data这个函数,这个函数是过滤表单的内容,里面用了
#Only allow r ...



非常感谢您的指导,刚学php几天,光注意了函数,过滤规则没仔细看。可惜分数已经给过了。只有给鲜花了。
谢谢您。已经按照sunny的规则改好了,只要不过滤就可以了。

再次感谢您耐心的看完这个项目和耐心的指导
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP