Skip to content

💡 Failed to parse Unicode of emoticons 💡 #4048

@AbhijithGanesh

Description

@AbhijithGanesh

Exception report

PS fails to parse emoticons

Heyy devs, I was using PS and I tried to add "💡" as a part of my git commits and I thought git broke but I realized PS broke and asked me to create an issue. I'd like to fix this if it is not very hard.

Screenshot

image

Environment data

### Environment
PSReadLine: 2.0.0
PowerShell: 5.1.22621.3672
OS: Microsoft Windows 10.0.22631
Last 200 Keys

Steps to reproduce

mkdir sample
cd sample
touch input.txt
git add input.txt
git commit -m "Initial commit💡"

Expected behavior

Should allow me to commit/should understand that I am trying to input unicode emoticons

Actual behavior

Breaks due to this exception:

System.Text.EncoderFallbackException: Unable to translate Unicode character \uD83D at index 1 to specified code page.
   at System.Text.EncoderExceptionFallbackBuffer.Fallback(Char charUnknown, Int32 index)
   at System.Text.EncoderFallbackBuffer.InternalFallback(Char ch, Char*& chars)
   at System.Text.UTF8Encoding.GetBytes(Char* chars, Int32 charCount, Byte* bytes, Int32 byteCount, EncoderNLS baseEncoder)
   at System.Text.EncoderNLS.GetBytes(Char[] chars, Int32 charIndex, Int32 charCount, Byte[] bytes, Int32 byteIndex, Boolean flush)
   at System.IO.StreamWriter.Flush(Boolean flushStream, Boolean flushEncoder)
   at System.IO.StreamWriter.Dispose(Boolean disposing)
   at System.IO.TextWriter.Dispose()
   at Microsoft.PowerShell.PSConsoleReadLine.<>c__DisplayClass83_0.<WriteHistoryRange>b__0()
   at Microsoft.PowerShell.PSConsoleReadLine.WithHistoryFileMutexDo(Int32 timeout, Action action)
   at Microsoft.PowerShell.PSConsoleReadLine.MaybeAddToHistory(String result, List`1 edits, Int32 undoEditIndex, Boolean fromDifferentSession, Boolean fromInitialRead)
   at Microsoft.PowerShell.PSConsoleReadLine.InputLoop()
   at Microsoft.PowerShell.PSConsoleReadLine.ReadLine(Runspace runspace, EngineIntrinsics engineIntrinsics, CancellationToken cancellationToken)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions