Wrong charset used in creating search terms when server supports UTF8 #607
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
there is a bug ,when i search subject with Chinese character such as “OA系统”. The log print :https://github.com/ZhongXiaoHong/mail/blob/master/bad_comand.txt
The reason for this is that the Chinese character “OA系统” is regarded as ASSCII when the program get the byte array.
see the source code: com.sun.mail.imap.protocol.SearchSequence#subject(SubjectTerm term, String charset)
protected Argument subject(SubjectTerm term, String charset) throws SearchException, IOException { Argument result = new Argument(); result.writeAtom("SUBJECT"); result.writeString(term.getPattern(), charset); return result; }
com.sun.mail.iap.Argument#writeString(java.lang.String, java.lang.String)
public Argument writeString(String s, String charset) throws UnsupportedEncodingException { if (charset == null) { this.writeString(s); } else { this.items.add(new AString(s.getBytes(charset))); } return this; }
com.sun.mail.iap.Argument#writeString(java.lang.String)
public Argument writeString(String s) { this.items.add(new AString(ASCIIUtility.getBytes(s))); return this; }