Search code examples
flutterdartmobile

Flutter - Unable to input Korean in TextField under Linux environment


@override
  void initState() {
    // TODO: implement initState
    super.initState();
    _check = TextEditingController(text: widget.check);
    _action = TextEditingController(text: widget.action);
    _result = TextEditingController(text: widget.result);
  }

  @override
  Widget build(BuildContext context) {
    return Column(
      children: [
        Row(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            Text("확인 : "),
            Container(
              width: 100,
              padding: const EdgeInsets.all(4.0),
              child: TextField(
                controller: _check,
              ),
            ),
            SizedBox(
              width: 50,
            ),
            Text("조치 방법 : "),
            Container(
              width: 100,
              padding: const EdgeInsets.all(8.0),
              child: TextField(
                controller: _action,
              ),
            ),
            SizedBox(
              width: 50,
            ),
            Text("결과 : "),
            Container(
              width: 100,
              padding: const EdgeInsets.all(8.0),
              child: TextField(
                controller: _result,
              ),
            ),
          ],
        ),
        SizedBox(
          height: 50,
        ),
        ElevatedButton(
            onPressed: () {
              saveData();
              saveToClipBoard(widget.index, widget.filtered);
            },
            child: Text("완료")),
        SizedBox(
          height: 50,
        ),
      ],
    );
  }

The code above is the one I wrote. After creating a TextField widget with this code, attempting to input Korean results in English being entered instead of Korean. I would like to know the reason for this issue and how to resolve it.

When running Flutter on Chrome, Korean input works correctly.


Solution

  • When running a Linux Desktop application from the terminal in VS Code, Korean input was not recognized, but when executed from the terminal on my local PC (Ubuntu), Korean input worked correctly. However, I still don't understand the principle behind this. I suspect that the terminal environment in VS Code differs from that of the local PC's terminal.