2012-09-26 53 views
5

我嘗試使用toUppercase()方法將日文字符轉換爲大寫字母,但是它返回的字符串與轉換不同。日文字符:使用jquery將lowerCase轉換爲大寫

是否有任何其他方式使用jQuery或JavaScript來做到這一點。

fieldValue = "ショウコ";    //japanese string. 

function convertToUppercase(fieldValue) 
{  
convertedValue = fieldValue.toUpperCase(); 
return convertedValue; 
} 

任何幫助將不勝感激!

+4

就我所知,日語中沒有大寫/小寫的概念。 – nhahtdh

+0

可能相關 - [如何在Unicode中將字符串設置爲大寫/小寫?](http://stackoverflow.com/questions/297703/how-do-you-set-strings-to-uppercase-lowercase-in-unicode ) – Lix

+0

您是否在討論將轉化爲ヨ? –

回答

0

感謝您的幫助和指引我正確的方式

最後,我想出了這個解決方案。

function convertBigKana(kanaVal){ 
     var smallKana = Array('ァ','ィ','ゥ','ェ','ォ','ヵ','ヶ','ㇱ','ㇲ','ッ','ㇳ','ㇴ','ㇵ','ㇶ','ㇷ','ㇸ','ㇹ','ㇺ','ャ','ュ','ョ','ㇻ','ㇼ','ㇽ','ㇾ','ㇿ','ヮ'); 
     var bigKana = Array('ア','イ','ウ','エ','オ','カ','ケ','シ','ス','ツ','ト','ヌ','ハ','ヒ','フ','ヘ','ホ','ム','ヤ','ユ','ヨ','ラ','リ','ル','レ','ロ','ワ'); 
     var ckanaVal = ''; 
     for (var i = 0; i < kanaVal.length; i++){ 
      //var index = smallKana.indexOf(kanaVal.charAt(i)); //indexOf and stri[i] don't work on ie 
      var index = jQuery.inArray(kanaVal.charAt(i), smallKana); 
      if (index !== -1) { 
       ckanaVal+= bigKana[index]; 
      } 
      else 
      { 
       ckanaVal+= kanaVal.charAt(i); 
      } 
     } 
     return ckanaVal; 
    } 
2

我對日文字的名字一無所知,但我知道Sugar.js有很多操縱和轉換這些字符的方法。它具有諸如zenkaku,hankaku,hiraganakatakana的方法。

這裏給Sugarjs' String API

+0

(例如)zenkaku意味着全寬ア,而hankaku意味着半寬ア。 – nhahtdh

+0

謝謝....., – Swathi

6

的鏈接有一個list of all the "small" letters(稱爲「youon」)維基百科:

ぁぃぅぇぉっゃゅょゎァィゥェォヵㇰヶㇱㇲッㇳㇴㇵㇶㇷㇷ゚ㇸㇹㇺャュョㇻㇼㇽㇾㇿヮ 

你可以使用一個switch statement將它們轉換爲他們的「大」等同,這我會爲您的方便起見,這裏輸入了:

あいうえおつやゆよわアイウエオカクケシスツトヌハヒフプヘホムヤユヨラリルレロワ 

注意,輔音不一定讀同樣的方式他們做的時候 「大」;例如,何ヶ月被讀爲「なんかげつ(nankagetsu)」,而不是「なんけげつ(nankegetsu)」。っ,在下一個音節上表示​​,當它變大時讀作「tsu」。

「大」元音表明他們需要給自己的音節長度。 (有這個術語太多,但我不是語言學家 - !對不起)

+0

感謝您的回覆。 – Swathi

相關問題