摘 要: 維吾爾語(yǔ)水平測(cè)試是為維吾爾語(yǔ)非第一語(yǔ)言的學(xué)習(xí)者設(shè)計(jì)的一項(xiàng)標(biāo)準(zhǔn)化考試。利用PHP開(kāi)發(fā)了維吾爾語(yǔ)口試網(wǎng)上閱卷系統(tǒng)。在軟件開(kāi)發(fā)過(guò)程中,存在著網(wǎng)頁(yè)字符集的選擇,維吾爾語(yǔ)文字的顯示,口試試題的存儲(chǔ)和訪(fǎng)問(wèn),口試音頻的播放以及口試音頻波形的顯示等問(wèn)題。針對(duì)維吾爾語(yǔ)口試閱卷的特點(diǎn)和需求,給出了解決問(wèn)題的技術(shù)和方法。
關(guān)鍵詞: 閱卷系統(tǒng); 口試; 音頻波形; PHP
中圖分類(lèi)號(hào):TP391 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2095-2163(2015)04-
Several Issues in the Online Marking System of Oral in Uyghur Proficiency Test
JIA Zhixian
(Network and Experimental Teaching Center, Xinjiang University of Finance and Economics)
Abstract: The Uyghur proficiency test is a standardized test to design for the learners who first language is something other than Uyghur. By using PHP, the paper develops an online marking system of oral in Uyghur proficiency test. In the software development process, there are some problems, such as how to select a charset in web page, storage and display the questions and answers in Uighur, play oral audio, as well as display oral audio waveform and so on. According to the characteristics and needs of the online marking of oral examination, the paper has given the technology and methods to solve these problems.
Key Words: Online Marking System; Oral Test; Audio Waveform; PHP
0 引 言
在新疆,母語(yǔ)非維吾爾語(yǔ)的各民族(主要是漢族)中學(xué)習(xí)維吾爾語(yǔ)的人數(shù)正在迅速地增加,每年都有數(shù)以萬(wàn)計(jì)的母語(yǔ)非維吾爾語(yǔ)的人員通過(guò)國(guó)民教育系列和非國(guó)民教育系列的各種方式(包括各種類(lèi)型的培訓(xùn)班)在學(xué)習(xí)維吾爾語(yǔ)。維吾爾語(yǔ)水平測(cè)試是為維吾爾語(yǔ)非第一語(yǔ)言的學(xué)習(xí)者設(shè)計(jì)的一項(xiàng)標(biāo)準(zhǔn)化考試,重點(diǎn)考查考生在生活、學(xué)習(xí)和工作中運(yùn)用維吾爾語(yǔ)進(jìn)行交際的能力。為了使維吾爾語(yǔ)水平測(cè)試公平、公正和高效,應(yīng)用PHP開(kāi)發(fā)了一個(gè)維吾爾語(yǔ)口試網(wǎng)上閱卷系統(tǒng)。運(yùn)用先進(jìn)的計(jì)算機(jī)網(wǎng)絡(luò)技術(shù),實(shí)現(xiàn)了考試評(píng)分手段的現(xiàn)代化[1-2]。在軟件開(kāi)發(fā)過(guò)程中,存在著網(wǎng)頁(yè)字符集的選擇,維吾爾語(yǔ)文字的顯示,口試試題的存儲(chǔ)和訪(fǎng)問(wèn),口試音頻的播放以及口試音頻波形的顯示等問(wèn)題[3]。經(jīng)過(guò)研究和探討,有效地解決了這些問(wèn)題。
1 維吾爾語(yǔ)口試閱卷
維吾爾語(yǔ)水平測(cè)試設(shè)立了四個(gè)等級(jí),其中,一、二級(jí)為初級(jí),三級(jí)為中級(jí),四級(jí)為高級(jí)。在維吾爾語(yǔ)水平測(cè)試各個(gè)級(jí)別中,均包括有筆試和口試兩部分。開(kāi)設(shè)維吾爾語(yǔ)水平測(cè)試口試項(xiàng)目,其主要目的是從語(yǔ)音、語(yǔ)調(diào)、斷句的正確流利程度上考查考生的語(yǔ)言能力以及語(yǔ)言的流利度。例如,一級(jí)口試的題型主要有看圖認(rèn)讀和看圖回答問(wèn)題,三級(jí)口試的題型主要有朗讀題和簡(jiǎn)答題。在網(wǎng)上評(píng)卷過(guò)程中,每個(gè)小題需經(jīng)兩位評(píng)卷老師評(píng)卷,如果兩位評(píng)卷老師評(píng)卷結(jié)果誤差超過(guò)規(guī)定的范圍,則由第三位評(píng)卷老師評(píng)卷,以保證評(píng)卷的質(zhì)量[4]。維吾爾語(yǔ)水平測(cè)試口試網(wǎng)上閱卷的主要依據(jù)是考生的口試音頻文件。通過(guò)播放考生的口試音頻文件,評(píng)卷人員從考生的語(yǔ)音語(yǔ)調(diào)語(yǔ)速等方面進(jìn)行判斷,給出一個(gè)恰當(dāng)?shù)姆謹(jǐn)?shù)。
2 維吾爾語(yǔ)文字的顯示問(wèn)題
在計(jì)算機(jī)字符編碼中,有多種不同的字符編碼方案。選擇在網(wǎng)頁(yè)中能夠正常顯示維吾爾語(yǔ)文字的字符編碼是維吾爾語(yǔ)口試網(wǎng)上閱卷的一個(gè)重要的問(wèn)題。Unicode是國(guó)際組織制定的可以容納世界上所有文字和符號(hào)的字符編碼方案。Unicode用數(shù)字0-0x10FFFF來(lái)映射這些字符,最多可以容納1114112個(gè)字符。在Unicode中,維文字符被分配到阿拉伯字符基本區(qū),擴(kuò)展區(qū)A和擴(kuò)展區(qū)B[5]。UTF-8(8-bit Unicode Transformation Format)是一種針對(duì)Unicode的可變長(zhǎng)度字符編碼。在電子郵件、網(wǎng)頁(yè)及其他存儲(chǔ)或發(fā)送文字的應(yīng)用中,UTF-8逐漸成為優(yōu)先采用的編碼。在維吾爾語(yǔ)口試網(wǎng)上閱卷系統(tǒng)網(wǎng)頁(yè)設(shè)計(jì)中,選擇UTF-8作為網(wǎng)頁(yè)的字符集,可以很好地解決維吾爾文的顯示問(wèn)題。
3 數(shù)據(jù)庫(kù)設(shè)計(jì)與訪(fǎng)問(wèn)方式
在維吾爾語(yǔ)口試閱卷系統(tǒng)中,數(shù)據(jù)庫(kù)表主要有:考生口試信息表,口試試題和標(biāo)準(zhǔn)答案,評(píng)卷人員表和評(píng)卷結(jié)果等。在一些數(shù)據(jù)庫(kù)系統(tǒng)(例如,Visual FoxPro等)和訪(fǎng)問(wèn)方式(例如,RDO方式)中,存在著不支持UTF-8編碼的問(wèn)題。在維吾爾語(yǔ)口試考試和評(píng)卷系統(tǒng)開(kāi)發(fā)過(guò)程中,找到了一些支持UTF-8編碼的數(shù)據(jù)庫(kù)和訪(fǎng)問(wèn)方式,以及不支持UTF-8編碼情況下的解決方案。在維吾爾語(yǔ)口試試題編輯過(guò)程中,數(shù)據(jù)庫(kù)采用Access數(shù)據(jù)庫(kù)。試題編輯系統(tǒng)采用Visual Studio 2010開(kāi)發(fā),訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)技術(shù)則采用ADODB方式。在維吾爾語(yǔ)口試考試和評(píng)卷系統(tǒng)中,數(shù)據(jù)庫(kù)采用SQL Server 2008。在考試和評(píng)卷前,將以Access數(shù)據(jù)庫(kù)存儲(chǔ)的試題庫(kù)導(dǎo)入到SQL Server 2008中。在A(yíng)ccess中,存儲(chǔ)維吾爾語(yǔ)口試試題和答案的字段,選擇“備注”型和“文本”型;在SQL Server 2008中,存儲(chǔ)維吾爾語(yǔ)口試試題和答案的字段,選擇nvarchar型。
在PHP中,常用的訪(fǎng)問(wèn)SQL Server方式有mssql、odbc和adodb等。這些訪(fǎng)問(wèn)SQL Server方式都存在著不支持UTF-8字符集的問(wèn)題??谠囋囶}和答案的文字不多,可以采用圖像文件方式存儲(chǔ)維吾爾語(yǔ)口試試題和答案??梢詰?yīng)用Visual Studio 2010,編寫(xiě)一個(gè)建立試題圖像的程序,將試題庫(kù)中的口試試題和答案讀出并保存為.JPG格式圖像。在口試試題和答案數(shù)據(jù)庫(kù)表中,增加一個(gè)字段來(lái)存儲(chǔ)試題和答案的圖像文件名。在評(píng)卷前,將建立的試題和答案的圖像,存儲(chǔ)在評(píng)卷系統(tǒng)的images文件夾下,在PHP網(wǎng)頁(yè)中,利用文件名字段讀取所建的答案圖像,以圖像方式顯示試題和答案。
在訪(fǎng)問(wèn)SQL Server的mssql、odbc和adodb等方式中,應(yīng)用mssql方式訪(fǎng)問(wèn)SQL Server,需要利用微軟發(fā)布的驅(qū)動(dòng)程序SQL Server Driver for PHP。應(yīng)用adodb方式訪(fǎng)問(wèn)SQL Server,需要從http://sourceforge.net/projects/adodb網(wǎng)站上下載和安裝adodb包。odbc方式訪(fǎng)問(wèn)SQL Server則相對(duì)比較簡(jiǎn)單。在口試閱卷系統(tǒng)中,選擇應(yīng)用odbc方式訪(fǎng)問(wèn)SQL Server數(shù)據(jù)庫(kù)。
PHP中應(yīng)用odbc方式訪(fǎng)問(wèn)SQL Server數(shù)據(jù)庫(kù)的常用函數(shù)[6]主要有:
odbc_connect()--建立一個(gè)數(shù)據(jù)庫(kù)連接。
odbc_exec()--執(zhí)行SQL語(yǔ)句,并返回一個(gè)結(jié)果集。
odbc_fetch_row()--從結(jié)果集中取一條記錄。如果取出一條記錄,則函數(shù)返回true,否則函數(shù)返回false。
odbc_result()--從記錄中讀取字段。該函數(shù)有兩個(gè)參數(shù):odbc結(jié)果標(biāo)識(shí)符和字段編號(hào)或名稱(chēng)。
odbc_close()--關(guān)閉 odbc 連接。
在網(wǎng)頁(yè)中,訪(fǎng)問(wèn)SQL Server遇到非ASCII字符時(shí),需要應(yīng)用iconv()函數(shù)在UTF-8編碼和GB2312編碼之間進(jìn)行轉(zhuǎn)換。例如:
$sqlstr = "select * from 評(píng)卷人員表 where 用戶(hù)名='".$username."' and 密碼='".$pwd."'";
$result=odbc_exec($conn,iconv("utf-8","gb2312",$sqlstr));
$_SESSION['username']=odbc_result($result, iconv("utf-8","gb2312",'用戶(hù)名'));
4 口試音頻的播放
在PHP網(wǎng)頁(yè)中,可通過(guò)調(diào)用Windows Media Player進(jìn)行音頻的播放。在口試閱卷系統(tǒng)中,調(diào)用Windows Media Player播放音頻的代碼為:
… … …