Проблем с кодиране при въвеждане на данни в MySQL база данни

Когато въвеждате текстови данни, съдържащи знаци на кирилица, в базата данни на MySQL, като използвате сървлет или JSP страница, трябва да посочите в сървлета или JSP страницата в кое кодиране данните влизат в сървлета и в какво кодиране трябва да бъдат записани в базата данни.

По същия начин, когато извличате текстови данни от база данни и ги показвате с помощта на сървлет или JSP страница, трябва да посочите кодирането, извлечено от базата данни, и кодирането, в което ще се покаже последната страница.

Указването на кодирането, в което данните, изпратени от клиента, влизат в сървлета, се извършва с помощта на метода на обекта типHttpServletRequest.

Указването на кодирането, в което се изпраща HTML кодът, генериран от сървлета, се извършва с помощта на метода на обекта типHttpServletResponse.

Е, посочването на кодирането, в което данните се записват в базата данни и се извличат от там, се прави в настройките на JDBC драйвера на базата данни.

Когато използвате JDBC драйвера за MySQL Connector/J, настройките за кодиране се правят с помощта на обект от типаjava.util.Properties, който съдържа индикация на параметрите на базовото кодиране и се предава като аргумент при създаване на връзка към базата.

Когато указвате кодирането, използвано от JDBC драйвера за съхраняване на данни в базата данни, е важно това кодиране действително да съответства на кодирането, използвано от базата данни или таблицата, в която се съхраняват данните.

Когато създавате таблици, препоръчително е да посочите изрично кодирането на данните, съхранявани в тях, без да разчитате на настройките по подразбиране.

Най-предпочитаното кодиране за многоезични текстове еutf8(ето нотацията за кодиране, използвана в MySQL).

Ако текстовете, съхранени в таблицата, съдържат само знациКирилица и латиница, можете да посочите кодировкаcp1251при създаване на таблица.

По-подробна информация за кодировките, използвани в базата данни MySQL и как да ги настроите, можете да намерите на официалния уебсайт на MySQL.

Можете да създадете таблица, като вземете предвид кодирането или да промените кодирането на съществуваща таблица, като използвате SQL заявки, изпратени от приложението, или като използвате помощната програма phpMyAdmin, достъпна за нашите хостинг клиенти.

Следното е пример за сървлет, който получава данни от клиента в CP1251 кодиране и ги записва в таблица с UTF-8 кодиране:

Полезни връзки:

Всички материали от този сайт не могат да се използват без разрешението на собствениците на ресурса.