English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Soluzione del problema di jumbled characters cinese in database MySQL su Mac

Mac下MySQL数据库中文乱码解决方案:

当我们使用框架进行数据库的存储操作时,经常会遇到中文乱码的问题。

例如:在使用Java的SSH框架时,我们需要在web.xml文件中配置编码的filter,具体代码是:

<span style="font-family:FangSong_GB2312;font-size:14px;"><!-- 处理表单乱码,必须在OpenSessionInViewFilter的filter之前 --> 
<filter> 
  <filter-name>CharacterFilter</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> 
</filter> 
<filter-mapping> 
  <filter-name>CharacterFilter</filter-name> 
  <url-pattern>/*</url-pattern> 
</filter-mapping> 

Poi durante la memorizzazione del database scopriamo che i caratteri cinesi memorizzati nel database sono ancora in codifica sbagliata, a questo punto debuggando il progetto scopriamo che il valore del parametro SQL inserito è già in cinese normale

Allora in questo momento dobbiamo controllare la codifica del database.

Visualizza il formato di codifica predefinito utilizzando il comando SQL:

<span style="font-family:FangSong_GB2312;font-size:14px;">show variables like "%char%";</span> 

Visualizza il formato di codifica del database test:

<span style="font-family:FangSong_GB2312;font-size:14px;">show create database test;</span> 

Poi eseguiamo la modifica del charset di MySQL sotto Max:

Poiché il charset predefinito di MySql per Mac non è utf-8, è necessario seguire i seguenti passaggi per la modifica

Inserisci nel terminale

<span style="font-family:FangSong_GB2312;font-size:14px;">sudo -s</span> 

Poi ti verrà richiesto di inserire la password, questa è la password di sistema!

Inserisci nel prompt dei comandi

<span style="font-family:FangSong_GB2312;font-size:14px;">cd /usr/local/mysql/support-files</span> 

Continua ad inserire (copia il file nella directory etc)

<span style="font-family:FangSong_GB2312;font-size:14px;">cp my-default.cnf /etc/my.cnf</span> 

Continua ad inserire (entra nella directory etc)

<span style="font-family:FangSong_GB2312;font-size:14px;">cd /etc</span> 

Continuare a inserire

<span style="font-family:FangSong_GB2312;font-size:14px;">vimy.cnf</span> 

In questo momento, noterai che il file my.cnf è stato aperto con lo strumento vi, il movimento del cursore in alto, in basso, a sinistra e a destra è effettuato dai tasti h, j, k, l sulla tastiera, su sistemi Mac la versione 10.9.3 il tasto è efficace!

Poi premere il tasto j per spostare il cursore all'ultimo di [client], aggiungere un attributo: (o utilizzare il tasto freccia in basso)

<span style="font-family:FangSong_GB2312;font-size:14px;">default-character-set=utf8(Questo attributo non può essere utilizzato dopo MySQL 5.5,</span>

Aggiungere sotto mysqld, ossia le versioni precedenti alla 5.5, le versioni successive ignorano questo attributo)</span> 

Continuare a premere i tasti per spostare il cursore dopo [mysqld], aggiungere 3 attributi

<span style="font-family:FangSong_GB2312;font-size:14px;">default-storage-engine=INNODB 
character-set-server=utf8 
collation-server=utf8_general_ci</span> 

Premere il tasto esc nell'angolo sinistro in alto della tastiera per uscire dal modo di modifica, quindi inserire un due punti e una lettera x

Riavvia il servizio MySql

Eseguendo di nuovo l'operazione del database, il cinese può essere memorizzato normalmente!

Grazie per aver letto, spero di essere stato utile, grazie per il supporto al nostro sito!

Ti potrebbe interessare