Всем добрый день! Мой код корректно работает с именами на латинице (так, как написано в задании), но некорректно работает с именами на кириллице. Выводит на вывод несколько одинаковых имен, не складывая числа. Как показал дебаг, не работает сравнение equals (String, String). В чем может быть дело? Код:
FileReader fileReader =     new FileReader(args[0]);

        BufferedReader reader = new BufferedReader(fileReader);

      Map<String, Double> salaries = new HashMap<String, Double>();

        String name = "";
        String value = "";
        boolean flag = false;
        String x;

        while ( !(x = reader.readLine()).equals("")){


            String [] spl = x.split(" ");

            String k = spl[0];

            double c = Double.parseDouble(spl[1]);

            for (Map.Entry<String, Double> pair : salaries.entrySet())
            {
                String key = pair.getKey();


                if( k.equals(key)){

                    flag = true;

                    double val = pair.getValue();

                    salaries.put(key, val + c );
                }
            }
            if (!flag){ salaries.put(spl[0],c); }
            flag = false;
        }

       reader.close();

        Map<String, Double> sortedMap = new TreeMap<String, Double>();
        sortedMap.putAll(salaries);

        for (Map.Entry<String, Double> pair : sortedMap.entrySet()) {
            String key = pair.getKey();
            double val = pair.getValue();

            System.out.println(key + " " + val);
        }
    }
}