zhblue / hustoj

Popular Open Source Online Judge based on PHP/C++/MySQL/Linux for ACM/ICPC and NOIP training, with easy installation. 开源OJ系统
http://www.hustoj.com/?cat=2
GNU General Public License v2.0
3.25k stars 766 forks source link

$OJ_NAME 这一栏不能使用中文 #638

Open coffuture opened 4 years ago

coffuture commented 4 years ago

image 经过反复测试,使用了中文以后,我的竞赛&作业 这一栏,显示出的数据不正常,原本一些能看见的竞赛作业会显示不出来。网页上侧的竞赛&作业公共栏倒是正常。 image

zhblue commented 4 years ago

建议检查系统本身语言编码是否安装了zh_CN.UTF-8

coffuture commented 4 years ago

$OJ_Name 能够修改为中文,并且可以正常显示。 问题出在改为中文以后,会给 “我的竞赛&作业” 这一栏带来一些不能正常显示的bug,数据库里我查看过,用户权限表里确实是把某个比赛、作业id进行关联的,只不过不能正常显示。 顺便求教一下,该怎么检查 系统本身语言编码是否按照了 zh_CN.UTF-8 ,本人小白一枚,感谢大佬的解答。

coffuture commented 4 years ago

刚刚自己去研究了一下,这回把系统安装上了 zh_CN.UTF-8 220fb223700963213450f244917d982 0fafcaec82e3f740e9ad783efc32dc7

但是问题还是存在,只有把OJ_Name改成中文,我的竞赛作业就显示不正常,如下对比图: 这是正常情况下 b8e2dbe8ff90d976abc7974634e40ec 这是改成中文以后,只能看见部分了,以后新创建的也看不见了。 2d546069f102bdd7f816cedf4717822

zhblue commented 4 years ago

先试试更新这个文件到最新版,然后试试取消注释打印一下这个变量 https://github.com/zhblue/hustoj/blob/master/trunk/web/contest.php#L270

coffuture commented 4 years ago

8a35a49a09fec4442519ad8ca5cbcb5 按照您的意思把哪一行取消注释了,效果如下 先是英文正常名字的,都可以显示出来,上面有满满一行内容。 10a2a5cd5c6f4404713df2d4b7d506b 然后改成中文以后,只能显示部分,网页上方新多出的那一行也确实只查询到部分了。 13c3f57c7dd8ccd782429036892745a

zhblue commented 4 years ago

请问所用的发行版、mysql和php的版本是什么?

zhblue commented 4 years ago

临时修补方案: https://github.com/zhblue/hustoj/blob/master/trunk/web/template/bs3/nav.php#L33 修改这一行里的

<?php echo $OJ_NAME?>

为你想要设置的中文文字