• 7005阅读
  • 3回复

[提问]用Qt写网页如何使标题栏和正文正常显示中文? [复制链接]

上一主题 下一主题
离线lijasmine
 
只看楼主 倒序阅读 楼主  发表于: 2006-04-20
— 本帖被 XChinux 从 Qt基础编程 移动到本区(2013-04-01) —
1、这是简单HTTP实现示例的一部分。
#include ……

// HttpDaemon is the the class that implements the simple HTTP server.
class HttpDaemon : public QServerSocket
{
Q_OBJECT
public:
HttpDaemon( QObject* parent=0 ) :
  QServerSocket(8080,1,parent)
{……}

void newConnection( int socket )
{……}

private slots:
void readClient()
{QSocket* socket = (QSocket*)sender();
  if ( socket->canReadLine() ) {
    QStringList tokens = QStringList::split( QRegExp("[ \n\r][ \n\r]*"), socket->readLine() );
    if ( tokens[0] == "GET" ) {
      QTextStream os( socket );
      os.setEncoding( QTextStream::UnicodeUTF8 );
          os << "HTTP/1.0 200 Ok\r\n"
    "Content-Type: text/html; charset=\"utf-8\"\r\n"
    "\r\n"
    "<html>\n"
    "<head>\n"
    "<title>QObject::tr(大连理工大学)</title>\n"//想使用中文标题出现乱码
    "<h1>Hello zhaoxiao 你好</h1>\n"
    "</head></html>";//正文中想显示中文,结果打开网页是空。
      socket->close();
      emit wroteToClient();
    }}}};
2、如果想做一简单的嵌入式web服务器
在PC机浏览器上可以浏览到嵌入式设备里面的信息。
我觉得自己对于如何解决大致的思路都没有搞清楚。
呵呵麻烦给点意见或者这方面的范例和资料。
期待你的回复!
[ 此贴被XChinux在2006-04-20 15:51重新编辑 ]
离线melodyarm

只看该作者 1楼 发表于: 2006-09-02
学习中……
我也正在做这方面的,迷茫中,顶一下!
往大家提供一下实现的方法步骤
离线melodyarm

只看该作者 2楼 发表于: 2006-09-02
基于ARM9的嵌入式Web服务器
用的是优龙的ST2410,ARM9,做嵌入式Web服务器
正在学Linux网络编程
离线XChinux

只看该作者 3楼 发表于: 2006-09-02
最关键的,一个是你写的网页字符串本身里面的汉字的编码(及转换)要正确,二是你的浏览器发送到客户端的HTTP信息头设置(主要是关于字符集的)正确。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
快速回复
限100 字节
 
上一个 下一个