基于CPPCMS的web应用启动载入.js配置文件时遇到'Invalid or unsupported char set : utf-8"

编译cppcms官方文档里“Hello World” 例子:

cppcms.com/wikipp/en/page/cppcms_1x_tut_hello

编译完成后执行 hello -c  config.js

结果出现错误异常提示'Invalid or unsupported char set : utf-8"

周围没人遇到过这个问题,上网一搜也没有什么结果,哪怕用google英文。

急死人了。

不过冷静下来经过排查,发现这个和自己的程序没有关系,而是config.js的问题,异常在刚开始读取config.js的时候就发生了。


config.js里的内容肯定没问题,只可能是.js文本保存格式有问题,导致cppcms程序不识别。

那也就是我的系统真的不支持utf-8?

我的ubuntu系统和周围同事装得差不多,也不记得自己改什么配置了,utf-8这么基本的字符集还能出问题?

于是网上搜了下关于linux 字符集的基本知识,然后在本机运行

$ locale

结果是

LANG=en_US.UTF-8
LANGUAGE=”C”
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_PAPER="C"
LC_NAME="C"
LC_ADDRESS="C"
LC_TELEPHONE="C"
LC_MEASUREMENT="C"
LC_IDENTIFICATION="C"
LC_ALL=C

晕,这都是些什么啊!再看看同事的电脑:

LANG=en_US.UTF-8
LANGUAGE="en_US.UTF-8"
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

显然我们的UTF-8环境不对,那么怎么修改呢?

$ sudo vim /etc/environmen

在里面添加:

LANG=en_US.UTF-8
LANGUAGE="en_US.UTF-8"
LC_CTYPE="en_US.UTF-8"

这三行就够了,当然把其他几项全部添加上也行,这里是英文UTF-8, 如果相知吃中文环境,en_US换成zh_CN,具体自己去查。


保存配置文件,然后重启系统


大功告成,问题解决。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值