UTF-8'in Java webapps'de çalışmasını nasıl sağlayabilirim?


367

UTF-8'in Java web uygulamamda (sunucu uygulamaları + JSP, kullanılan çerçeve yok) äöådüzenli Fince metin ve Kiril alfabeleri gibi ЦжФözel durumlar için çalışmasını sağlamalıyım .

Kurulumum şudur:

  • Geliştirme ortamı: Windows XP
  • Üretim ortamı: Debian

Kullanılan veritabanı: MySQL 5.x

Kullanıcılar siteye erişmek için genellikle Firefox2'yi kullanır ancak Opera 9.x, FF3, IE7 ve Google Chrome da kullanılır.

Bunu nasıl başarabilirim?


Yanıtlar:


552

Bu sitenin SSS'si olarak kendimi cevaplamak teşvik ediyor. Bu benim için çalışıyor:

Çoğu zaman äåö karakterleri tarayıcılar tarafından kullanılan varsayılan karakter kümesi ve webapps için tomcat / java latin1 yani sorunlu değildir. Bu karakterleri "anlayan" ISO-8859-1.

UTF-8'in Java + Tomcat + Linux / Windows + Mysql altında çalışmasını sağlamak için aşağıdakiler gerekir:

Tomcat'in server.xml dosyasını yapılandırma

Bağlayıcının url (GET isteği) parametrelerini kodlamak için UTF-8 kullanacağını yapılandırmak gerekir:

<Connector port="8080" maxHttpHeaderSize="8192"
 maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
 enableLookups="false" redirectPort="8443" acceptCount="100"
 connectionTimeout="20000" disableUploadTimeout="true" 
 compression="on" 
 compressionMinSize="128" 
 noCompressionUserAgents="gozilla, traviata" 
 compressableMimeType="text/html,text/xml,text/plain,text/css,text/ javascript,application/x-javascript,application/javascript"
 URIEncoding="UTF-8"
/>

Yukarıdaki örnekte anahtar kısım URIEncoding = "UTF-8" dir . Bu, Tomcat'in gelen tüm GET parametrelerini UTF-8 kodlu olarak işlemesini sağlar. Sonuç olarak, kullanıcı aşağıdakileri tarayıcının adres çubuğuna yazdığında:

 https://localhost:8443/ID/Users?action=search&name=*ж*

ж karakteri UTF-8 olarak işlenir ve (genellikle sunucuya ulaşmadan önce tarayıcı tarafından) % D0% B6 olarak kodlanır .

POST isteği bundan etkilenmez.

CharsetFilter

Sonra java web uygulamasını UTF-8 kodlu olarak tüm istek ve yanıtları işlemeye zorlama zamanı. Bu, aşağıdaki gibi bir karakter kümesi filtresi tanımlamamızı gerektirir:

package fi.foo.filters;

import javax.servlet.*;
import java.io.IOException;

public class CharsetFilter implements Filter {

    private String encoding;

    public void init(FilterConfig config) throws ServletException {
        encoding = config.getInitParameter("requestEncoding");
        if (encoding == null) encoding = "UTF-8";
    }

    public void doFilter(ServletRequest request, ServletResponse response, FilterChain next)
            throws IOException, ServletException {
        // Respect the client-specified character encoding
        // (see HTTP specification section 3.4.1)
        if (null == request.getCharacterEncoding()) {
            request.setCharacterEncoding(encoding);
        }

        // Set the default response content type and encoding
        response.setContentType("text/html; charset=UTF-8");
        response.setCharacterEncoding("UTF-8");

        next.doFilter(request, response);
    }

    public void destroy() {
    }
}

Bu filtre, tarayıcı istekte kullanılan kodlamayı ayarlamazsa UTF-8 olarak ayarlandığından emin olur.

Bu filtre tarafından yapılan diğer bir şey, varsayılan yanıt kodlamasını ayarlamaktır. döndürülen html / ne olursa olsun kodlama. Alternatif olarak, uygulamanın her denetleyicisinde yanıt kodlamasını vb. Ayarlamaktır.

Bu filtrenin web.xml dosyasına veya webapp'ın dağıtım tanımlayıcısına eklenmesi gerekir :

 <!--CharsetFilter start--> 

  <filter>
    <filter-name>CharsetFilter</filter-name>
    <filter-class>fi.foo.filters.CharsetFilter</filter-class>
      <init-param>
        <param-name>requestEncoding</param-name>
        <param-value>UTF-8</param-value>
      </init-param>
  </filter>

  <filter-mapping>
    <filter-name>CharsetFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>

Bu filtreyi yapma talimatları tomcat wiki'de bulunur ( http://wiki.apache.org/tomcat/Tomcat/UTF-8 )

JSP sayfa kodlaması

Senin içinde Web.xml aşağıdakileri ekleyin:

<jsp-config>
    <jsp-property-group>
        <url-pattern>*.jsp</url-pattern>
        <page-encoding>UTF-8</page-encoding>
    </jsp-property-group>
</jsp-config>

Alternatif olarak, web uygulamasının tüm JSP sayfalarında en üstte şunlar olması gerekir:

 <%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%>

Farklı JSP parçalarına sahip bir tür düzen kullanılırsa, hepsinde bu gereklidir .

HTML-meta etiketleri

JSP sayfa kodlaması, JVM'ye JSP sayfasındaki karakterleri doğru kodlamada işlemesini söyler. Sonra tarayıcıya html sayfasını kodlamanın hangi zaman olduğunu söyleme zamanı:

Bu, webapp tarafından üretilen her xhtml sayfasının üstünde aşağıdakilerle yapılır:

   <?xml version="1.0" encoding="UTF-8"?>
   <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
   <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fi">
   <head>
   <meta http-equiv='Content-Type' content='text/html; charset=UTF-8' />
   ...

JDBC bağlantı

Bir db kullanırken, bağlantının UTF-8 kodlaması kullandığı tanımlanmalıdır. Bu, context.xml dosyasında veya JDBC bağlantısının nerede olduğu her yerde aşağıdaki gibi yapılır:

      <Resource name="jdbc/AppDB" 
        auth="Container"
        type="javax.sql.DataSource"
        maxActive="20" maxIdle="10" maxWait="10000"
        username="foo"
        password="bar"
        driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/      ID_development?useEncoding=true&amp;characterEncoding=UTF-8"
    />

MySQL veritabanı ve tabloları

Kullanılan veritabanı UTF-8 kodlamasını kullanmalıdır. Bu, veritabanı aşağıdakilerle oluşturularak gerçekleştirilir:

   CREATE DATABASE `ID_development` 
   /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_swedish_ci */;

Daha sonra, tüm tabloların UTF-8'de olması gerekir:

   CREATE TABLE  `Users` (
    `id` int(10) unsigned NOT NULL auto_increment,
    `name` varchar(30) collate utf8_swedish_ci default NULL
    PRIMARY KEY  (`id`)
   ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_swedish_ci ROW_FORMAT=DYNAMIC;

Anahtar kısım CHARSET = utf8 .

MySQL sunucu yapılandırması

MySQL sunucusu da yapılandırılmalıdır. Bu genellikle Windows'ta my.ini -dosyasını değiştirerek ve Linux'ta my.cnf -dosyasını yapılandırarak yapılır . Bu dosyalarda, sunucuya bağlı tüm istemcilerin varsayılan karakter kümesi olarak utf8 kullandıkları ve sunucu tarafından kullanılan varsayılan karakter kümesinin de utf8 olduğu tanımlanmalıdır.

   [client]
   port=3306
   default-character-set=utf8

   [mysql]
   default-character-set=utf8

MySQL yordamları ve işlevleri

Bunların ayrıca karakter setinin tanımlanmış olması gerekir. Örneğin:

   DELIMITER $$

   DROP FUNCTION IF EXISTS `pathToNode` $$
   CREATE FUNCTION `pathToNode` (ryhma_id INT) RETURNS TEXT CHARACTER SET utf8
   READS SQL DATA
   BEGIN

    DECLARE path VARCHAR(255) CHARACTER SET utf8;

   SET path = NULL;

   ...

   RETURN path;

   END $$

   DELIMITER ;

GET istekleri: latin1 ve UTF-8

Tomcat'in server.xml dosyasında tanımlandığında ve GET istek parametrelerinin UTF-8'de kodlanmış olması durumunda, aşağıdaki GET istekleri doğru şekilde işlenir:

   https://localhost:8443/ID/Users?action=search&name=Petteri
   https://localhost:8443/ID/Users?action=search&name=ж

ASCII karakterleri hem latin1 hem de UTF-8 ile aynı şekilde kodlandığından, "Petteri" dizesi doğru şekilde işlenir.

Kiril karakteri ж latin1'de hiç anlaşılmadı. Tomcat'e istek parametrelerini UTF-8 olarak işlemesi talimatı verildiğinden, bu karakteri % D0% B6 olarak doğru şekilde kodlar .

Tarayıcılara UTF-8 kodlaması (istek üstbilgileri ve html meta etiketi ile) sayfaları okumaları talimat verilirse, en azından Firefox 2/3 ve diğer tarayıcıların tümü karakterin kendisini % D0% B6 olarak kodlar .

Sonuç olarak "Petteri" adında tüm kullanıcılar ve "ж" adında tüm kullanıcılar bulunur.

Peki ya äåö?

HTTP spesifikasyonu, varsayılan olarak URL'lerin latin1 olarak kodlandığını tanımlar. Bu, aşağıdakileri kodlayan firefox2, firefox3 vb. İle sonuçlanır.

    https://localhost:8443/ID/Users?action=search&name=*Päivi*

kodlanmış versiyonda

    https://localhost:8443/ID/Users?action=search&name=*P%E4ivi*

Latin1'de ä karakteri % E4 olarak kodlanır . Sayfa / istek / her şey UTF-8 kullanacak şekilde tanımlanmış olsa da . UTF-8 kodlu ä sürümü % C3% A4'tür

Bunun sonucu olarak, bazı uygulamalar latin1 ve diğerleri UTF-8'de kodlandığından, web uygulamasının GET isteklerindeki istek parametrelerini doğru bir şekilde işlemesi imkansızdır. Uyarı: Sayfa UTF-8 olarak tanımlanmışsa, tarayıcılar UTF-8'deki formlardan tüm istek parametrelerini tamamen kodladığı için POST istekleri işe yarar

Okunacak şeyler

Sorunumun cevaplarını verdikleri için aşağıdaki yazarlar için çok teşekkür ederim:

  • http://tagunov.tripod.com/i18n/i18n.html
  • http://wiki.apache.org/tomcat/Tomcat/UTF-8
  • http://java.sun.com/developer/technicalArticles/Intl/HTTPCharset/
  • http://dev.mysql.com/doc/refman/5.0/en/charset-syntax.html
  • http://cagan327.blogspot.com/2006/05/utf-8-encoding-fix-tomcat-jsp-etc.html
  • http://cagan327.blogspot.com/2006/05/utf-8-encoding-fix-for-mysql-tomcat.html
  • http://jeppesn.dk/utf-8.html
  • http://www.nabble.com/request-parameters-mishandle-utf-8-encoding-td18720039.html
  • http://www.utoronto.ca/webdocs/HTMLdocs/NewHTML/iso_table.html
  • http://www.utf8-chartable.de/

Önemli Not

3 baytlık UTF-8 karakterlerini kullanarak Temel Çok Dilli Düzlemi destekler . Bunun dışına çıkmanız gerekiyorsa (bazı alfabe için 3 bayttan fazla UTF-8 gerekir), VARBINARYsütun tipi bir lezzet kullanmanız veya utf8mb4karakter kümesini (MySQL 5.5.3 veya üstünü gerektirir) kullanmanız gerekir. Sadece MySQL'de utf8karakter setini kullanmanın zamanın% 100'ünde çalışmayacağını unutmayın.

Tomcat Apache ile

Bir şey daha Apache + Tomcat + mod_JK bağlayıcısı kullanıyorsanız, aşağıdaki değişiklikleri de yapmanız gerekir:

  1. 8009 bağlayıcı için tomcat server.xml dosyasına URIEncoding = "UTF-8" ekleyin, mod_JK bağlayıcısı tarafından kullanılır. <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" URIEncoding="UTF-8"/>
  2. Apache klasörü yani Goto /etc/httpd/confve eklemek AddDefaultCharset utf-8içinde httpd.conf file. Not: Önce var olup olmadığını kontrol edin. Varsa, bu satırla güncelleyebilirsiniz. Bu satırı altına da ekleyebilirsiniz.

Bu adımlar ayrıca Struts / tiles ve postgres veritabanı ile de çalışır.
kosoant

17
İki yorum: 1) HMTL-meta etiketlerine xml bildirimi eklediniz. Kaldır, sadece tuhaflık modunda tarayıcıları tetikler, buna sahip olmak istemezsin. Ayrıca, HTML meta etiketleri aslında JSP tarafından örtük olarak yapılır pageEncoding, böylece onu bile bırakabilirsiniz. 2) kullandığınız MySQL veritabanı ve tablolardautf8_swedish_si , bu olmalıydı utf8_unicode_ci. Harmanlamayı bile bırakabilirsin, sadece CHARACTER SET utf8yeter.
BalusC

HTML meta etiketleri ve ilginç moduyla ilgili olarak danıştığım belgelerin hiçbiri (örn. Ericmeyeroncss.com/bonus/render-mode.html , en.wikipedia.org/wiki/Quirks_mode ) <meta http-equiv = 'Content -Type ', oluşturma modu üzerinde herhangi bir etkiye sahiptir.
Marcel Stör

İlginç bir yan not olarak, bir istek parametresine erişen bir dinleyiciniz varsa, dinleyiciler filtrelerden önce yürütüldüğü için filtre yerine karakter kümesini ayarlayan bir dinleyici eklemeniz gerektiğini de bilmek isteyebilirsiniz. Tüm adımları izledim ve bu yüzden hala işe yaramadı. Başka birinin benzer bir sorunu varsa, sadece bu bilgi boyunca geçeceğini düşündüm.
testing123

3
## Apache ile Tomcat ## Bir şey daha Apache + Tomcat + mod_JK bağlayıcı kullanıyorsanız aşağıdaki değişiklikleri de yapmanız gerekir: 1. 8009 bağlayıcı için tomcat server.xml dosyasına URIEncoding = "UTF-8" ekleyin, mod_JK konektörü tarafından kullanılır. <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" URIEncoding="UTF-8"/> 2. Apache klasörünüze gidin /etc/httpd/confve AddDefaultCharset utf-8'httpd.conf' dosyasına ekleyin . Not: önce var olup olmadığını kontrol edin. Varsa, bu satırla güncelleyebilirsiniz. Bu satırı altına da ekleyebilirsiniz.
Vijay Shegokar

14

Bence bunu kendi cevabında oldukça iyi özetledin.

UTF-8-ing (?) Sürecinde uçtan uca java'nın UTF-8 kullandığından da emin olmak isteyebilirsiniz. JVM'ye parametre olarak -Dfile.encoding = utf-8 kullanın (catalina.bat içinde yapılandırılabilir).


Bu bana yardımcı oldu, bahsettiğim her şeyi yaptım ama UTF-8 olarak değiştirdiğimde JVM kodlaması windows-1250 idi.
coding_idiot

2
Catalina.bat dosyasına nereye eklersiniz, lütfen?
Noah

11

Kosoant'ın cevabına eklemek için , kendi Servlet filtrenizi yazmak yerine Spring kullanıyorsanız, org.springframework.web.filter.CharacterEncodingFiltersağladıkları sınıfı kullanarak web.xml dosyasında aşağıdaki gibi yapılandırabilirsiniz:

 <filter>
    <filter-name>encoding-filter</filter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    <init-param>
       <param-name>encoding</param-name>
       <param-value>UTF-8</param-value>
    </init-param>
    <init-param>
       <param-name>forceEncoding</param-name>
       <param-value>FALSE</param-value>
    </init-param>
 </filter>
 <filter-mapping>
    <filter-name>encoding-filter</filter-name>
    <url-pattern>/*</url-pattern>
 </filter-mapping>

1
Bu filtre
web.xml'deki

2

Ben den eklemek de istiyorum burada bu bölümü benim utf sorunu çözüldü:

runtime.encoding=<encoding>

1

Bu, Java kullanarak onlara erişmek istediğimizde MySql tablolarındaki Yunanca Kodlama içindir:

JBoss bağlantı havuzunuzda aşağıdaki bağlantı kurulumunu kullanın (mysql-ds.xml)

<connection-url>jdbc:mysql://192.168.10.123:3308/mydatabase</connection-url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<user-name>nts</user-name>
<password>xaxaxa!</password>
<connection-property name="useUnicode">true</connection-property>
<connection-property name="characterEncoding">greek</connection-property>

Bunu bir JNDI bağlantı havuzuna koymak istemiyorsanız, sonraki satırda gösterildiği gibi JDBC URL'si olarak yapılandırabilirsiniz:

jdbc:mysql://192.168.10.123:3308/mydatabase?characterEncoding=greek

Ben ve Nick için, bunu asla unutmayacağız ve artık zaman kaybetmiyoruz .....


5
Yine de uygulamanızın dünya hakimiyetine hazır olması için Yunanca'nın üstünde UTF-8'i tercih ediyorum (ve mevcut Yunan verilerinizi UTF-8'e dönüştürüyorum).
BalusC

1

Güzel detaylı cevap. URL'lerin UTF-8 kodlamasını çalışırken görmelerine kesinlikle yardımcı olacak bir şey daha eklemek istedim.

Firefox'taki URL'lerde UTF-8 kodlamasını etkinleştirmek için aşağıdaki adımları izleyin.

  1. adres çubuğuna "about: config" yazın.

  2. "Network.standard-url.encode-query-utf8" özelliğini aramak için filtre giriş türünü kullanın.

  3. Yukarıdaki özellik varsayılan olarak false olur, bunu TRUE olarak döndürür.
  4. tarayıcıyı yeniden başlatın.

URL'lerde UTF-8 kodlaması IE6 / 7/8 ve chrome'da varsayılan olarak çalışır.


1

Önceki yanıtlar sorunumla çalışmadı. Sadece üretimde, tomcat ve apache mod_proxy_ajp ile oldu. Post vücut tarafından ascii olmayan karakter kaybetti? Sorun nihayet JVM defaultCharset (varsayılan bir instagramda US-ASCII ile): Charset dfset = Charset.defaultCharset ();), bu nedenle çözüm, JVM'yi UTF-8 ile varsayılan karakter kümesi olarak çalıştırmak için bir değiştirici ile tomcat sunucusunu çalıştırdı:

JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=UTF-8" 

(bu satırı catalina.sh dosyasına ekleyin ve tomcat hizmetini yeniden başlatın)

Belki de linux sistem değişkenini değiştirmeniz gerekir (kalıcı değişiklik için ~ / .bashrc ve ~ / .profile dosyalarını düzenleyin, bkz. Https://perlgeek.de/en/article/set-up-a-clean-utf8-environment )

dışa aktar LC_ALL = en_US.UTF-8
dışa aktar LANG = en_US.UTF-8

dışa aktar LANGUAGE = en_US.UTF-8


0

Benzer bir sorunla karşılaşıyorum, ancak bir dosyanın dosya adlarında apache commons ile sıkıştırıyorum. Yani, bu komutla çözdüm:

convmv --notest -f cp1252 -t utf8 * -r

benim için çok iyi çalışıyor. Umarım herkese yardım eder;)


0

İleti paketlerinden Unicode karakterini görüntüleme durumum için, jsp sayfamda Unicode'u görüntülemek için "JSP sayfa kodlaması" bölümünü uygulamam gerekmiyor. Tek ihtiyacım olan "CharsetFilter" bölümü.


0

Bahsedilmeyen bir diğer nokta, Ajax ile çalışan Java Servlet'leri ile ilgilidir. Bir web sayfasının utf-8 metnini Servlet'e gönderilen bir URI'de içeren bir JavaScript dosyasına gönderen kullanıcıdan aldığı durumlar var. Servlet bir veritabanını sorgular, sonucu yakalar ve onu biçimlendiren JavaScript dosyasına XML olarak döndürür ve biçimlendirilmiş yanıtı orijinal web sayfasına ekler.

Bir web uygulamasında, erken bir Ajax kitabının URI'yi oluştururken JavaScript'i tamamlamaya yönelik talimatlarını izliyordum. Kitaptaki örnek, (zor yoldan) yanlış olduğunu keşfettiğim escape () yöntemini kullandı. Utf-8 için encodeURIComponent () öğesini kullanmalısınız.

Bugünlerde çok az insan kendi Ajax'ını yuvarlıyor gibi görünse de, bunu da ekleyebileceğimi düşündüm.


0

Hakkında CharsetFilter@kosoant cevap ....

FilterTomcat'te web.xml(içinde bulunan conf/web.xml) bir yapı var . Filtre adlandırılır setCharacterEncodingFilterve varsayılan olarak yorumlanır. Bu uncomment olabilir (Lütfen onun uncomment unutmayın filter-mapping)

Ayrıca sete gerek yoktur jsp-configiçinde senin web.xml(Tomcat için test var 7+)


0

Bir süre MySQL Yönetici sihirbazı ile sorunu çözebilirsiniz. İçinde

Başlangıç ​​değişkenleri> Gelişmiş>

ve Def. karakter seti: utf8

Belki bu yapılandırmanın MySQL'i yeniden başlatması gerekebilir.


0

Aynı sorun Spring MVC 5 + Tomcat 9 + JSP ile de karşılaştı.
Uzun araştırmalardan sonra, zarif bir çözüm (geldi hiçbir gerek filtreler ve hiçbir ihtiyaç değişiklik Tomcat içinde server.xml (8.0.0-RC3 sürümü başlayarak))

  1. WebMvcConfigurer uygulamasında messageSource (UTF-8 kodlamasındaki mesaj kaynak dosyalarından veri okumak için) varsayılan kodlamayı ayarlayın.

    @Configuration
    @EnableWebMvc
    @ComponentScan("{package.with.components}")
    public class WebApplicationContextConfig implements WebMvcConfigurer {
    
        @Bean
        public MessageSource messageSource() {
            final ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource();
    
            messageSource.setBasenames("messages");
            messageSource.setDefaultEncoding("UTF-8");
    
            return messageSource;
        }
    
        /* other beans and methods */
    
    }
  2. DispatcherServletInitializer application @ onStartup yöntemini geçersiz kılın ve içinde istek ve kaynak karakter kodlamasını ayarlayın.

    public class DispatcherServletInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
    
        @Override
        public void onStartup(final ServletContext servletContext) throws ServletException {
    
            // https://wiki.apache.org/tomcat/FAQ/CharacterEncoding
            servletContext.setRequestCharacterEncoding("UTF-8");
            servletContext.setResponseCharacterEncoding("UTF-8");
    
            super.onStartup(servletContext);
        }
    
        /* servlet mappings, root and web application configs, other methods */
    
    }
  3. Tüm mesaj kaynağını kaydedin ve dosyaları UTF-8 kodlamasında görüntüleyin.

  4. Her * .jsp dosyasına <% @ page contentType = "text / html; charset = UTF-8"%> veya <% @ page pageEncoding = "UTF-8"%> ekleyin veya web.xml dosyasına jsp-config descriptor ekleyin

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee"
     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
     id="WebApp_ID" version="3.0">
        <display-name>AppName</display-name>
    
        <jsp-config>
            <jsp-property-group>
                <url-pattern>*.jsp</url-pattern>
                <page-encoding>UTF-8</page-encoding>
            </jsp-property-group>
        </jsp-config>
    </web-app>

-1

Bağlantı havuzunda (mysql-ds.xml) belirtmeniz durumunda, Java kodunuzda bağlantıyı aşağıdaki gibi açabilirsiniz:

DriverManager.registerDriver(new com.mysql.jdbc.Driver());
Connection conn = DriverManager.getConnection(
    "jdbc:mysql://192.168.1.12:3308/mydb?characterEncoding=greek",
    "Myuser", "mypass");
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.