2012-09-26 14 views
5

Intenté usar el método toUppercase() para convertir caracteres japoneses en mayúsculas pero devuelve la misma cadena sin conversión.Caracteres japoneses: Convertir lowerCase en upperCase usando jquery

¿Hay alguna otra manera de hacerlo mediante jquery o javascript.

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

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

¡Cualquier ayuda sería muy apreciada!

+4

No hay concepto de mayúsculas/minúsculas en japonés, hasta donde yo sé. – nhahtdh

+0

Posiblemente relacionado - [¿Cómo se configuran las cadenas en mayúsculas/minúsculas en Unicode?] (Http://stackoverflow.com/questions/297703/how-do-you-set-strings-to-uppercase-lowercase-in-unicode) – Lix

+0

¿Estás hablando de convertir el ョ a ヨ? –

Respuesta

0

Gracias por la ayuda y me guió al camino correcto

Finalmente se me ocurrió con esta solución.

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

Soy un poco ignorante sobre los nombres de los caracteres japoneses, pero sé que Sugar.js tiene muchos métodos para manipular y transformar dichos caracteres. Tiene métodos como zenkaku, hankaku, hiragana y katakana.

Aquí hay un enlace a la Sugarjs' String API

+0

(Por ejemplo) zenkaku significa ancho completo ア, mientras que hankaku significa ancho medio ア. – nhahtdh

+0

Gracias ....., – Swathi

6

Hay una list of all the "small" letters (conocido como "youon") en la Wikipedia:

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

Se puede usar un switch statement para convertirlos en sus equivalentes "grandes", los cuales voy a escribir a máquina aquí para su conveniencia:

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

Tenga en cuenta que las consonantes no necesariamente se leen de la misma manera cuando están hechas "grande"; por ejemplo, 何 ヶ 月 es "な ん か nan nan (nankagetsu)", no "な ん け nan nan (nankegetsu)".っ, que indica un glottal stop en la siguiente sílaba, se lee como "tsu" cuando se hace grande.

Las vocales "grandes" indican que deben tener su propia longitud de sílaba. (Hay un término para esto también, pero yo no soy un lingüista - lo siento)

+0

Gracias por su respuesta. – Swathi

Cuestiones relacionadas