私のindex.xhtml入力フィールドからデータベースにデータを書き込むと、私は? ±πの代わりに。自分のデータベースの照合順序をutf8_general_ciに設定しました。私は私の価値をプリントアウトして、Tomcat 8の出力にはすでに見ましたか?だから私はそれがトマトの問題だと思う。私はガイドや他のstackoverflowの質問/ソリューションの多くをチェックアウトして、何も助けた。私が持っているTOMCATS のserver.xmlで:netbeans 8.1でのTomcat 8のutf-8設定が動作しない
TOMCATS のweb.xmlで<Connector URIEncoding="UTF-8" connectionTimeout="20000" port="8084" protocol="HTTP/1.1" redirectPort="8443"/>
を私はNetBeansで
<filter>
<filter-name>setCharacterEncodingFilter</filter-name>
<filter-class>org.apache.catalina.filters.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<async-supported>true</async-supported>
</filter>
と
<filter-mapping>
<filter-name>setCharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
をコメント解除これは私がやっていることですプロジェクトweb.xml私は
<filter>
<filter-name>setCharacterEncodingFilter</filter-name>
<filter-class>org.apache.catalina.filters.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>setCharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>faces/index.xhtml</welcome-file>
</welcome-file-list>
<jsp-config>
<jsp-property-group>
<url-pattern>*.jsp</url-pattern>
<page-encoding>UTF-8</page-encoding>
</jsp-property-group>
</jsp-config>
は、これはすべての問題を読んだ後、これは私が行うことができるすべてである私は、すべてのコードが
<f:view contentType="text/html" encoding="UTF-8">
<h:head>
<meta http-equiv='Content-Type' content='text/html; charset=UTF-8' />
</h:head>
*code*
</f:view>
をカバーしている
package Servlets;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
public class setCharacterEncodingFilter implements Filter {
@Override
public void init(FilterConfig filterConfig)
throws ServletException {
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain)
throws IOException, ServletException {
servletRequest.setCharacterEncoding("UTF-8");
servletResponse.setContentType("text/html; charset=UTF-8");
filterChain.doFilter(servletRequest, servletResponse);
}
@Override
public void destroy() {
}
}
index.xtml にsetCharacterEncodingFilter.java私のフィルタであり、私は何か間違ったことをしましたか?
を固定してしまった
と? – getjackx
私はJSFマネージドBeanで作成されたpersistメソッドを持ち、メソッド{persist(m);}を追加し、Beanでは単にコールマネージャを使用して、Thing m = new Thing(); m.setValue(value1); ThingManager tm =新しいThingManager(); tm.addThing(m); utf-8を設定する兆候はありません。そして私がすべての豆にutf-8を設定しなければならない場合、これは悪いことになります。私はすべてのプロジェクトが1つのフィールドだけでなくutf-8であると想像しています。 – Immortal
私はちょうど推測ですが、 'Charset.forName(" UTF-8 ")。encode(myString) 'のようにJavaで値を再度エンコードする必要があるかもしれません。 [この質問](http://stackoverflow.com/questions/5729806/encode-string-to-utf-8)を参照してください。 – getjackx