markmclaren / java-gmail-imap

Automatically exported from code.google.com/p/java-gmail-imap
0 stars 0 forks source link

Unable to search using UTF-8 text #9

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Create a email with UTF-8 characters in the subject (I'm using Korean)
2. SearchTerm searchTerm = new GmailRawSearchTerm("\"" + subject + "\"");
3. Message[] ms = folder.search(searchTerm);

What is the expected output? What do you see instead?
Expect to find the message.   None are found

What version of the product are you using? On what operating system?
java-gmail-imap-1.4.4-gm-ext-0.5.jar
Windows 7

Please provide any additional information below.

I found this post: 
https://groups.google.com/forum/#!msg/google-mail-xoauth-tools/5B_lwWFYbDw/zVkjq
3Ds6EEJ
.. which gives an example of sending the command: 
search charset utf-8 X-GM-RAW

So, I implemented my own version of GmailRawSearchTerm that returns "charset 
utf-8 X-GM-RAW" for getSearchAttribute(), but that resulted in:  BAD Could not 
parse command

Original issue reported on code.google.com by cw...@cloudsherpas.com on 11 Oct 2012 at 9:20

GoogleCodeExporter commented 9 years ago
I also tried "CHARSET UTF-8 X-GM-RAW" for getSearchAttribute().

This resulted in a different in an exception:
com.google.code.javax.mail.FolderClosedException: * BYE JavaMail Exception: 
java.io.IOException: Connection dropped by server?
    at com.google.code.com.sun.mail.imap.IMAPFolder.search(IMAPFolder.java:1742)
    at com.cloudsherpas.gmail.retration.services.GmailServiceImpl.getMessagesBySearchTerm(GmailServiceImpl.java:140)
    at com.cloudsherpas.gmail.retraction.services.GmailServiceTest.testGetBySubject(GmailServiceTest.java:65)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
    at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
    at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
    at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
    at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
    at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
    at org.junit.runners.BlockJUnit4ClassRunner.runNotIgnored(BlockJUnit4ClassRunner.java:79)
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:71)
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:49)
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
    at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
    at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

Original comment by cw...@cloudsherpas.com on 11 Oct 2012 at 9:56

GoogleCodeExporter commented 9 years ago
Thank you for spotting this.  There was a problem in SearchSequence because 
GmailSearchTerms were all being falsely recognised as ASCII.  I have updated 
the subversion trunk to 0.6 including the fix.  Can you test it?

Original comment by mark.mcl...@gmail.com on 19 Oct 2012 at 12:09

GoogleCodeExporter commented 9 years ago
That fixed it.  Thank you!

Original comment by cw...@cloudsherpas.com on 23 Oct 2012 at 3:31