2012-09-26 7 views
5

Próbowałem użyć metody toUppercase() do konwersji znaków japońskich na wielkie litery, ale zwraca ten sam ciąg bez konwersji.Znaki japońskie: Konwertuj lowerCase na upperCase za pomocą jquery

Czy jest jakikolwiek inny sposób to zrobić za pomocą jquery lub javascript.

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

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

Każda pomoc będzie bardzo ceniona!

+4

Nie ma koncepcji wielkich/małych liter w języku japońskim, o ile wiem. – nhahtdh

+0

Prawdopodobnie powiązane - [Jak ustawić napisy wielkimi/małymi literami w Unicode?] (Http://stackoverflow.com/questions/297703/how-do-you-set-strings-to-uppercase-lowercase-in-unicode) – Lix

+0

Czy mówisz o konwersji ョ na ヨ? –

Odpowiedz

0

Dzięki za pomoc i poprowadził mnie do właściwej drodze

Wreszcie wpadłem na to rozwiązanie.

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

Jestem trochę nieświadomy nazw japońskich znaków, ale wiem, że Sugar.js ma wiele metod manipulowania i transformowania takich znaków. Ma on takie metody, jak zenkaku, hankaku,i katakana.

Oto link do Sugarjs' String API

+0

(Na przykład) zenkaku oznacza pełną szerokość ア, podczas gdy hankaku oznacza połowę szerokości ア. – nhahtdh

+0

Dziękuję ....., – Swathi

6

Jest list of all the "small" letters (znany jako „youon”) na Wikipedii:

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

Można użyć switch statement do konwertowania ich do „dużych” odpowiedników, które będę wpisać tutaj dla wygody:

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

Zauważ, że spółgłoski nie są koniecznie przeczytać ten sam sposób, gdy są one wykonane "duży"; na przykład 何 ヶ 月 jest czytane "な ん か げ つ (nankagetsu)", a nie "な ん け げ つ (nankegetsu)".っ, co oznacza glottal stop na następnej sylabie, jest odczytywane jako "tsu", gdy jest duże.

"Duże" samogłoski wskazują, że należy podać ich własną długość sylaby. (Jest to określenie dla tego też, ale nie jestem lingwista - przepraszam)

+0

Dziękuję za odpowiedź. – Swathi