On Wed, Mar 9, 2016 at 7:46 PM, Mark Eggers <its_toas...@yahoo.com.invalid>
wrote:

> Yuval,
>
> Notes are inline (I hope). This is quickly becoming a NetBeans question.
>
> On 3/9/2016 1:38 AM, Yuval Schwartz wrote:
> > Thanks Mark, follow up questions below:
> >
> > On Wed, Mar 9, 2016 at 1:26 AM, Mark Eggers
> <its_toas...@yahoo.com.invalid>
> > wrote:
> >
> >> Yuval,
> >>
> >> On 3/8/2016 2:35 PM, Yuval Schwartz wrote:
> >>> On Tue, Mar 8, 2016 at 10:53 PM, Mark Thomas <ma...@apache.org> wrote:
> >>>
> >>>> On 08/03/2016 20:20, Christopher Schultz wrote:
> >>>>> Yuval,
> >>>>>
> >>>>> On 3/8/16 12:38 PM, Yuval Schwartz wrote:
> >>>>>> Hello Christopher, thanks, responses below.
> >>>>>
> >>>>>> On Tue, Mar 8, 2016 at 6:23 PM, Christopher Schultz <
> >>>>>> ch...@christopherschultz.net> wrote:
> >>>>>
> >>>>>> Yuval,
> >>>>>
> >>>>>> On 3/8/16 3:14 AM, Yuval Schwartz wrote:
> >>>>>>>>> Tomcat version: 8.0.22 Jdk: 1.8.0_05 Server: Amazon Linux
> >>>>>>>>>
> >>>>>>>>> Hello,
> >>>>>>>>>
> >>>>>>>>> I want to map my servlet to a Hebrew url pattern.
> >>>>>
> >>>>>> Hmm.
> >>>>>
> >>>>>>>>> I tried placing the hebrew url pattern both in the
> >>>>>>>>> "@webservlet" annotation (urlpatterns attribute) and in the
> >>>>>>>>> the web.xml file. In both cases it doesn't work, it's as if
> >>>>>>>>> there's nothing mapped to the url specified.
> >>>>>>>>>
> >>>>>>>>> I though to specify the URIEncoding parameter of the
> >>>>>>>>> connector but saw that this defaults to "utf-8" in tomcat 8.
> >>>>>
> >>>>>> Yes, it does.
> >>>>>
> >>>>>> So you are trying to set the url-pattern for a servlet mapping?
> >>>>>
> >>>>>> When you do it -- either using @WebServlet or <servlet-mapping> --
> >>>>>> can you connect via JMX to observe the pattern that's been read
> >>>>>> into the configuration? First, I'd want to make sure that the
> >>>>>> Hebrew characters haven't been destroyed by the loading process of
> >>>>>> the XML file or by the compiler, or even by Tomcat.
> >>>>>
> >>>>>
> >>>>>>> Can you give me some direction on how I would do this? Maybe a
> >>>>>>> little more detail on jmx? There could be encoding/decoding going
> >>>>>>> on in the browser (firefox) and in all the elements you mentioned
> >>>>>>> on the server side. Any way to see the final String that the
> >>>>>>> server is using to match the Url pattern?
> >>>>>
> >>>>> Yeah, that's why I was suggesting using JMX, since Tomcat exposes all
> >>>>> the configuration through it.
> >>>>>
> >>>>> Launch Tomcat, then fire-up jconsole (or VisualVM, or any other tool
> >>>>> that contains a JMX client... both jconsole and VisualVM require that
> >>>>> you go to the "plug-ins" configuration and install an
> >>>>> easy-to-find-and-install plug-in for JMX) on the same machine (it's
> >>>>> easiest this way).
> >>>>>
> >>>>> (I just checked, and VisualVM calls the plug-in
> >>>>> "VisualVM-MBeans".)visualvisual
> >>>>>
> >>>>> Then, connect to the Tomcat instance and go to the BMeans tab.
> >>>>>
> >>>>> You'll find your servlet under
> >> /Catalina/Servlet/host/context/[servlet].
> >>>>> ..
> >>>>>
> >>>>>
> >>>>> Aw, crap. The mappings themselves aren't actually published via JMX.
> >> Hmm
> >>>>
> >>>> Yes they are.
> >>>>
> >>>> You need to look at the operations. findMappings() will list them.
> >>>>
> >>>
> >>> I did this and it worked:
> >>> The english patterns show up fine, as expected.
> >>> The hebrew pattern shows up as a bunch of question marks (eg:
> >>> ????-?????-????)
> >>> The URLEncoded pattern shows up as wierd symbols (eg: diamond shape, tm
> >>> symbol).
> >>>
> >>> Could this be something in my IDE (Netbeans) settings? The logs for
> >>> example, display hebrew characters as question marks. Although my
> project
> >>> encoding is set as UTF-8.
> >>>
> >>> Thanks.
> >>>
> >>>
> >>>
> >>>>
> >>>> Mark
> >>
> >> Are you developing on Windows? (ah, you are)
> >>
> >> If so, could you check how you launch NetBeans? My netbeans.conf file
> >> contains this on the netbeans_default_options line:
> >>
> >> -J-Dfile.encoding=UTF-8
> >>
> >
> > I tried this, still doesn't fix the issue (Although a change is noticed:
> > going to help-->about under "system" text changes from "cp1252" to
> "UTF-8").
> >
>
> Good, the change did take.
>
> If you're working with an existing project, you may have to change the
> encoding on that project as well.
>
> Go to the Properties panel by right-mouse clicking on the project, and
> selecting Properties (should be at the bottom, at least it is on
> NetBeans 8.1).
>
> On the Sources panel at the bottom, make sure that the encoding is UTF-8.
>
> Note that for existing projects you will probably have to change this.
>
> Also note that for existing files, you'll probably have to do the
> following:
>
> 1. Delete your Hebrew
> 2. Outside of NetBeans change that file to UTF-8
> 3. Open in NetBeans
> 4. Add the Hebrew
>
> I know, it's messy, but again NetBeans does not have a plugin to do this
> internally.
>
> >
> >>
> >> Also, if you're using Maven with NetBeans, UTF-8 has to be set there as
> >> well. My projects contain the following in pom.xml:
> >>
> >> <properties>
> >> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
> >> <!-- more stuff -->
> >> </properties>
> >>
> >
> > I don't think I use Maven for this. I use the default build process (for
> my
> > development environment) ie: I right click the project and click "run".
> For
> > my production I build with "gulp".
>
> I don't know anything about gulp and how it handles UTF-8 on a Windows
> platform.
>
> I did try my experiment with a standard (ant build) NetBeans project and
> used the same method to run it.
>
> I'm using NetBeans 8.1 with the latest update on Windows 7 64 bit.
> I'm using JRE 1.8.0_74.
> I'm using Tomcat 7.0.68
>
> >
> >
> >>
> >> If you have cygwin installed on Windows, you can use the following:
> >>
> >> file -bi [filename]
> >>
> >
> > Which file am I supposed to do this for?
>
> Any file that contains non-ascii characters. It should (hopefully) show
> something like the following:
>
> text/html; charset=utf-8
>
> This is for index.jsp after I translated Hello World to Hebrew and
> pasted it in.
>
>
> I also did a servlet, and here's what I got:
>
> text/html; charset=utf-8
>
> (since I have HTML in my servlet - urp)
>
> >
> >
> >>
> >> will tell you the encoding and mime-type.
> >>
> >> iconv will help you convert from us-ascii to UTF-8. The syntax is:
> >>
> >> iconv -f [from-encoding] -t [to-encoding] [input-file] > output-file
> >>
> >
> > Are you suggesting I convert all of my source files to UTF-8?
>
> See previous post for fixing existing files. You may have to re-enter
> non-ascii characters.
>
> > Will all new files that are created now be in UTF-8 at least? Because I
> > just created a new servlet for testing purposes (after the
> > -J-Dfile.encoding property was added) and hebrew urls still aren't found.
> >
>
> New files will be created and shown as us-ascii (at least on my system).
> However, as soon as you add non-ascii text and save the file, it should
> be saved as UTF-8.
>

Yes, this is what happens for me too.


>
> Make sure that any output that you're generating has the encoding set to
> UTF-8.
>
> Also, make sure your connector is set to UTF-8 with:
>
> URIEncoding="UTF-8"
>
> This gets output with UTF-8. In other words, if I paste the Google
> translate to Hebrew output for "Hello World" into either a servlet or
> JSP page, I see the Hebrew output displayed in my browser.
>
> Unfortunately, when I tried a URL in web.xml, this did not work.
>
> The browser sent an encoded string. I tried firefox with the charset
> plugin, but the tamper plugin still showed an encoded (not UTF-8) URL
> being sent.
>
> Using the encoded string in web.xml as a URL pattern did not work.
>
> Obviously I am a bit of a neophyte when it comes to seriously encoding a
> web application for UTF-8, although I can get output to work.
>

Right, if I understood you correctly, this is the same exact problem I am
having. All of my content displays fine (this is "character encoding") but
I cannot map urls in hebrew (this is "URL encoding"). This is the problem I
am having (note also that I have no problem with query strings in utf8
either).


>
> I'll try to play with this later and see if I have any ideas.
>

Thank you. If you get the URL's working I'll try to mimic your set up.


>
> >
> >>
> >> I suspect there are native Windows tools to do this, but I'd have to
> >> wander about and find them.
> >>
> >> Notepad will tell you when you open a file what encoding the file is.
> >> You could then do a "save as" and select the correct encoding.
> >>
> >> Sadly, NetBeans does not have a plugin to do this.
> >>
> >> . . . just my two cents
> >>
> >
> > Thanks.
> >
> >
> >> /mde/
>
> . . . just my two cents
> /mde/
>
>

Reply via email to