javaweb 乱码---汉字存入mysql数据库中变成乱码

今天郁闷了一天,java程序在向mysql插入数据前不是乱码,数据库安装时也选了编码为utf8(和我程序的编码格式一致)。可是插入数据就变成乱码,相当郁闷。

原因:mysql的配置文件中的编码并没有改成utf8,;

解决办法:在mysql的安装目录下找到my.ini文件,将里面两处涉及编码的地方改成utf8,如下:

[html]  view plain copy
  1. # MySQL Server Instance Configuration File  
  2. # ----------------------------------------------------------------------  
  3. # Generated by the MySQL Server Instance Configuration Wizard  
  4. #  
  5. #  
  6. # Installation Instructions  
  7. # ----------------------------------------------------------------------  
  8. #  
  9. # On Linux you can copy this file to /etc/my.cnf to set global options,  
  10. # mysql-data-dir/my.cnf to set server-specific options  
  11. # (@localstatedir@ for this installation) or to  
  12. # ~/.my.cnf to set user-specific options.  
  13. #  
  14. # On Windows you should keep this file in the installation directory   
  15. # of your server (e.g. C:\Program Files\MySQL\MySQL Server X.Y). To  
  16. # make sure the server reads the config file use the startup option   
  17. # "--defaults-file".   
  18. #  
  19. # To run run the server from the command line, execute this in a   
  20. # command line shell, e.g.  
  21. # mysqld --defaults-file="C:\Program Files\MySQL\MySQL Server X.Y\my.ini"  
  22. #  
  23. # To install the server as a Windows service manually, execute this in a   
  24. # command line shell, e.g.  
  25. # mysqld --install MySQLXY --defaults-file="C:\Program Files\MySQL\MySQL Server X.Y\my.ini"  
  26. #  
  27. # And then execute this in a command line shell to start the server, e.g.  
  28. # net start MySQLXY  
  29. #  
  30. #  
  31. # Guildlines for editing this file  
  32. # ----------------------------------------------------------------------  
  33. #  
  34. # In this file, you can use all long options that the program supports.  
  35. # If you want to know the options a program supports, start the program  
  36. # with the "--help" option.  
  37. #  
  38. # More detailed information about the individual options can also be  
  39. # found in the manual.  
  40. #  
  41. #  
  42. # CLIENT SECTION  
  43. # ----------------------------------------------------------------------  
  44. #  
  45. # The following options will be read by MySQL client applications.  
  46. # Note that only client applications shipped by MySQL are guaranteed  
  47. # to read this section. If you want your own MySQL client program to  
  48. # honor these values, you need to specify it as an option during the  
  49. # MySQL client library initialization.  
  50. #  
  51. [client]  
  52.   
  53. port=3306  
  54.   
  55. [mysql]  
  56.   
  57. <span style="color:#ff0000;">default-character-set=utf8  
  58.   
  59. </span>  
  60. # SERVER SECTION  
  61. # ----------------------------------------------------------------------  
  62. #  
  63. # The following options will be read by the MySQL Server. Make sure that  
  64. # you have installed the server correctly (see above) so it reads this   
  65. # file.  
  66. #  
  67. [mysqld]  
  68.   
  69. # The TCP/IP Port the MySQL Server will listen on  
  70. port=3306  
  71.   
  72.   
  73. #Path to installation directory. All paths are usually resolved relative to this.  
  74. basedir="C:/Program Files/MySQL/MySQL Server 5.5/"  
  75.   
  76. #Path to the database root  
  77. datadir="C:/Documents and Settings/All Users/Application Data/MySQL/MySQL Server 5.5/Data/"  
  78.   
  79. # The default character set that will be used when a new schema or table is  
  80. # created and no character set is defined  
  81. <span style="color:#ff0000;">character-set-server=utf8  
  82.   
  83. </span># The default storage engine that will be used when create new tables when  
  84. default-storage-engine=INNODB  
  85.   
  86. # Set the SQL mode to strict  
  87. sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"  
  88.   
  89. # The maximum amount of concurrent sessions the MySQL server will  
  90. # allow. One of these connections will be reserved for a user with  
  91. # SUPER privileges to allow the administrator to login even if the  
  92. # connection limit has been reached.  
  93. max_connections=100  
  94.   
  95. # Query cache is used to cache SELECT results and later return them  
  96. # without actual executing the same query once again. Having the query  
  97. # cache enabled may result in significant speed improvements, if your  
  98. # have a lot of identical queries and rarely changing tables. See the  
  99. # "Qcache_lowmem_prunes" status variable to check if the current value  
  100. # is high enough for your load.  
  101. # Note: In case your tables change very often or if your queries are  
  102. # textually different every time, the query cache may result in a  
  103. # slowdown instead of a performance improvement.  
  104. query_cache_size=0  
  105.   
  106. # The number of open tables for all threads. Increasing this value  
  107. # increases the number of file descriptors that mysqld requires.  
  108. # Therefore you have to make sure to set the amount of open files  
  109. # allowed to at least 4096 in the variable "open-files-limit" in  
  110. # section [mysqld_safe]  
  111. table_cache=256  
  112.   
  113. # Maximum size for internal (in-memory) temporary tables. If a table  
  114. # grows larger than this value, it is automatically converted to disk  
  115. # based table This limitation is for a single table. There can be many  
  116. # of them.  
  117. tmp_table_size=17M  
  118.   
  119.   
  120. # How many threads we should keep in a cache for reuse. When a client  
  121. # disconnects, the client's threads are put in the cache if there aren't  
  122. # more than thread_cache_size threads from before.  This greatly reduces  
  123. # the amount of thread creations needed if you have a lot of new  
  124. # connections. (Normally this doesn't give a notable performance  
  125. # improvement if you have a good thread implementation.)  
  126. thread_cache_size=8  
  127.   
  128. #*** MyISAM Specific options  
  129.   
  130. # The maximum size of the temporary file MySQL is allowed to use while  
  131. # recreating the index (during REPAIR, ALTER TABLE or LOAD DATA INFILE.  
  132. # If the file-size would be bigger than this, the index will be created  
  133. # through the key cache (which is slower).  
  134. myisam_max_sort_file_size=100G  
  135.   
  136. # If the temporary file used for fast index creation would be bigger  
  137. # than using the key cache by the amount specified here, then prefer the  
  138. # key cache method.  This is mainly used to force long character keys in  
  139. # large tables to use the slower key cache method to create the index.  
  140. myisam_sort_buffer_size=34M  
  141.   
  142. # Size of the Key Buffer, used to cache index blocks for MyISAM tables.  
  143. # Do not set it larger than 30% of your available memory, as some memory  
  144. # is also required by the OS to cache rows. Even if you're not using  
  145. # MyISAM tables, you should still set it to 8-64M as it will also be  
  146. # used for internal temporary disk tables.  
  147. key_buffer_size=25M  
  148.   
  149. # Size of the buffer used for doing full table scans of MyISAM tables.  
  150. # Allocated per thread, if a full scan is needed.  
  151. read_buffer_size=64K  
  152. read_rnd_buffer_size=256K  
  153.   
  154. # This buffer is allocated when MySQL needs to rebuild the index in  
  155. # REPAIR, OPTIMZE, ALTER table statements as well as in LOAD DATA INFILE  
  156. # into an empty table. It is allocated per thread so be careful with  
  157. # large settings.  
  158. sort_buffer_size=256K  
  159.   
  160.   
  161. #*** INNODB Specific options ***  
  162.   
  163.   
  164. # Use this option if you have a MySQL server with InnoDB support enabled  
  165. # but you do not plan to use it. This will save memory and disk space  
  166. # and speed up some things.  
  167. #skip-innodb  
  168.   
  169. # Additional memory pool that is used by InnoDB to store metadata  
  170. # information.  If InnoDB requires more memory for this purpose it will  
  171. # start to allocate it from the OS.  As this is fast enough on most  
  172. # recent operating systems, you normally do not need to change this  
  173. # value. SHOW INNODB STATUS will display the current amount used.  
  174. innodb_additional_mem_pool_size=2M  
  175.   
  176. # If set to 1, InnoDB will flush (fsync) the transaction logs to the  
  177. # disk at each commit, which offers full ACID behavior. If you are  
  178. # willing to compromise this safety, and you are running small  
  179. # transactions, you may set this to 0 or 2 to reduce disk I/O to the  
  180. # logs. Value 0 means that the log is only written to the log file and  
  181. # the log file flushed to disk approximately once per second. Value 2  
  182. # means the log is written to the log file at each commit, but the log  
  183. # file is only flushed to disk approximately once per second.  
  184. innodb_flush_log_at_trx_commit=1  
  185.   
  186. # The size of the buffer InnoDB uses for buffering log data. As soon as  
  187. # it is full, InnoDB will have to flush it to disk. As it is flushed  
  188. # once per second anyway, it does not make sense to have it very large  
  189. # (even with long transactions).  
  190. innodb_log_buffer_size=1M  
  191.   
  192. # InnoDB, unlike MyISAM, uses a buffer pool to cache both indexes and  
  193. # row data. The bigger you set this the less disk I/O is needed to  
  194. # access data in tables. On a dedicated database server you may set this  
  195. # parameter up to 80% of the machine physical memory size. Do not set it  
  196. # too large, though, because competition of the physical memory may  
  197. # cause paging in the operating system.  Note that on 32bit systems you  
  198. # might be limited to 2-3.5G of user level memory per process, so do not  
  199. # set it too high.  
  200. innodb_buffer_pool_size=47M  
  201.   
  202. # Size of each log file in a log group. You should set the combined size  
  203. # of log files to about 25%-100% of your buffer pool size to avoid  
  204. # unneeded buffer pool flush activity on log file overwrite. However,  
  205. # note that a larger logfile size will increase the time needed for the  
  206. # recovery process.  
  207. innodb_log_file_size=24M  
  208.   
  209. # Number of threads allowed inside the InnoDB kernel. The optimal value  
  210. # depends highly on the application, hardware as well as the OS  
  211. # scheduler properties. A too high value may lead to thread thrashing.  
  212. innodb_thread_concurrency=8  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值