发现问题:
当用户使用设备连接路由器时,需要在路由器上显示出hostname,但有某些客户不讲武德,将自己电脑的hostname设置为中文,导致dnsmasq不识别,只能显示UNKNOWN,现在介绍一种转码方式。
解决问题:
需要再dnsmasq源码中修改,我们使用的版本是dnsmasq-2.68,解决此问题需要用到libiconv库,接下来看看怎么做的:
1.使用交叉编译工具编译libiconv动态库。
2.在dnsmasq源码的Makefile做如下修改:
3.在util.c里添加转码函数:
4.在rfc2312.c里添加如下代码:
所得出的hostname_buf即为转成的utf-8编码。