亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
最近訪問(wèn)板塊 發(fā)新帖
查看: 5309 | 回復(fù): 4
打印 上一主題 下一主題

[編碼] httpd php gettext utf-8 中文變成問(wèn)號(hào) [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2005-12-29 23:45 |只看該作者 |倒序?yàn)g覽
小弟用php+gettext寫(xiě)了一個(gè)頁(yè)面,指定中文的local為zh_CN,LC_MESSAGES下的漢化文件編碼為utf-8。頁(yè)面就是簡(jiǎn)單地輸出一句中文,在命令行下通過(guò)php命令解析可以正確地輸出中文,但從httpd訪問(wèn)中文就變?yōu)閱?wèn)號(hào)(?)。有誰(shuí)知道這是怎么回事?

[ 本帖最后由 HonestQiao 于 2005-12-30 08:21 編輯 ]

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2005-12-30 01:53 |只看該作者
源碼如何?

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2005-12-30 11:09 |只看該作者
目錄結(jié)構(gòu):

  1. hello.php
  2. i18n
  3.    |--zh_CN
  4.          |--LC_MESSAGES
  5.                     |---  amp.po
  6.                     |---  amp.mo
復(fù)制代碼

源碼hello.php (文件編碼utf-8):

  1. <html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
  2. <?
  3.         define("PKG","hello");
  4.         putenv("zh_CN");
  5.         setlocale(LC_MESSAGES,"zh_CN");
  6.         bindtextdomain(PKG,"./i18n");
  7.         textdomain(PKG);

  8.         echo gettext("hello,world");
  9.         echo "<br> super man kanaka";
  10.         echo "<br>我愛(ài)小甜餅";
  11. ?>
復(fù)制代碼

源碼amp.po (文件編碼utf-8)

  1. # SOME DESCRIPTIVE TITLE.
  2. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
  3. # This file is distributed under the same license as the PACKAGE package.
  4. # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
  5. #
  6. msgid ""
  7. msgstr ""
  8. "Project-Id-Version: PACKAGE VERSION\n"
  9. "Report-Msgid-Bugs-To: \n"
  10. "POT-Creation-Date: 2005-12-29 06:52-0500\n"
  11. "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
  12. "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
  13. "Language-Team: LANGUAGE <LL@li.org>\n"
  14. "MIME-Version: 1.0\n"
  15. "Content-Type: text/plain; charset=UTF-8\n"
  16. "Content-Transfer-Encoding: 8bit\n"

  17. #: hello.php:7
  18. msgid "hello,world"
  19. msgstr "你好,世界"
復(fù)制代碼

httpd的配置中注釋掉AddDefaultLanguage,php.ini中默認(rèn)的就已經(jīng)注釋掉default-language = iso-8859-1.
也曾試過(guò)多種默認(rèn)語(yǔ)言配置組合,均告失敗。上述源碼均經(jīng)過(guò)iconv轉(zhuǎn)碼為utf-8。

[ 本帖最后由 sniper 于 2005-12-30 11:15 編輯 ]

論壇徽章:
0
4 [報(bào)告]
發(fā)表于 2005-12-30 17:33 |只看該作者
雖然不會(huì),還是幫你頂一下,你是為中國(guó)人做漢化嗎?

論壇徽章:
0
5 [報(bào)告]
發(fā)表于 2005-12-31 12:36 |只看該作者
問(wèn)題已經(jīng)解決了,將hello.php中
setlocale(LC_MESSAGES,"zh_CN");
改為:
setlocale(LC_ALL,"zh_CN");
這樣就可以正常顯示漢字,但有時(shí)還是會(huì)出現(xiàn)亂碼刷新一下就好了。
雖然問(wèn)題已經(jīng)解決,卻不知道為什么這么做就會(huì)改善漢字的顯示。i18n目錄下只有LC_MESSAGES卻為何要改為L(zhǎng)C_ALL。此外命令行模式下的PHP顯示漢字正常,而作為httpd handler的php卻會(huì)出錯(cuò),這又是何解釋?肯請(qǐng)路過(guò)的達(dá)人解答。
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過(guò)ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP