catalyst支援unicode的重要配置
痛苦了兩天,終於在catalyst裡邊可以正確處理漢字了。
最後起到關鍵作用的還是一個catalyst的plugin:Catalyst::Plugin::Unicode
載入了這個之後,就基本上提交漢字也正常了。
主要注意的配置如下紅色:
Mysql裡邊的表用utf8編碼:
CREATE TABLE `change_event` (
`event_id` int(11) NOT NULL auto_increment,
`event_time` date default NULL,
`app` varchar(20) default NULL,
`cat` varchar(20) default NULL,
`event_type` varchar(20) default NULL,
`title` varchar(300) default NULL,
`content` text,
PRIMARY KEY (`event_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
CBS.pm主模組載入unicode plugin:
use Catalyst qw/
-Debug
ConfigLoader
Static::Simple
StackTrace
Session
Session::Store::FastMmap
Session::State::Cookie
Unicode
/;
DBIx::Class配置一個utf8編碼的表
greatdba:/home/robin/CBS/lib/CBSDB # more Change_event.pm
package CBSDB::Change_event;
use base qw/DBIx::Class/;
__PACKAGE__->load_components(qw/ UTF8Columns PK::Auto Core /);
__PACKAGE__->table('change_event');
__PACKAGE__->add_columns(qw/ event_id event_time app cat event_type title content /);
__PACKAGE__->utf8_columns(qw/ event_id event_time app cat event_type title content /);
__PACKAGE__->set_primary_key( qw/ event_id /);
1;
DBIx::Schema的重要配置:
greatdba:/home/robin/CBS/lib/CBS/Model # more CBSDB.pm
package CBS::Model::CBSDB;
use strict;
use base 'Catalyst::Model::DBIC::Schema';
__PACKAGE__->config(
schema_class => 'CBSDB',
connect_info => [
'dbi:mysql:database=dbStatus:host=172.23.16.100',
'dbstatus',
'******',
{
'on_connect_do' => ["SET NAMES 'latin1'"]
},
],
);
最後起到關鍵作用的還是一個catalyst的plugin:Catalyst::Plugin::Unicode
載入了這個之後,就基本上提交漢字也正常了。
主要注意的配置如下紅色:
Mysql裡邊的表用utf8編碼:
CREATE TABLE `change_event` (
`event_id` int(11) NOT NULL auto_increment,
`event_time` date default NULL,
`app` varchar(20) default NULL,
`cat` varchar(20) default NULL,
`event_type` varchar(20) default NULL,
`title` varchar(300) default NULL,
`content` text,
PRIMARY KEY (`event_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
CBS.pm主模組載入unicode plugin:
use Catalyst qw/
-Debug
ConfigLoader
Static::Simple
StackTrace
Session
Session::Store::FastMmap
Session::State::Cookie
Unicode
/;
DBIx::Class配置一個utf8編碼的表
greatdba:/home/robin/CBS/lib/CBSDB # more Change_event.pm
package CBSDB::Change_event;
use base qw/DBIx::Class/;
__PACKAGE__->load_components(qw/ UTF8Columns PK::Auto Core /);
__PACKAGE__->table('change_event');
__PACKAGE__->add_columns(qw/ event_id event_time app cat event_type title content /);
__PACKAGE__->utf8_columns(qw/ event_id event_time app cat event_type title content /);
__PACKAGE__->set_primary_key( qw/ event_id /);
1;
DBIx::Schema的重要配置:
greatdba:/home/robin/CBS/lib/CBS/Model # more CBSDB.pm
package CBS::Model::CBSDB;
use strict;
use base 'Catalyst::Model::DBIC::Schema';
__PACKAGE__->config(
schema_class => 'CBSDB',
connect_info => [
'dbi:mysql:database=dbStatus:host=172.23.16.100',
'dbstatus',
'******',
{
'on_connect_do' => ["SET NAMES 'latin1'"]
},
],
);
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/82392/viewspace-332656/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ECMAScript 6:更好的 Unicode 支援Unicode
- Perl Catalyst 倒出 ExcelExcel
- 選擇catalyst是正確的麼?
- 初次使用CxImage類庫、VC6配置UNICODE的方法Unicode
- 最簡練有效的catalyst的action總結
- Nginx 支援websocket的配置NginxWeb
- Unicode的前世今生Unicode
- unicodeUnicode
- 配置nginx支援Nginx
- Spark SQL / Catalyst 內部原理 與 RBOSparkSQL
- Hacking with UnicodeUnicode
- NGINX配置SSL支援Nginx
- nginx配置 laravel 支援NginxLaravel
- 我相信catalyst可以代替我原來用了多年的interchange
- Unicode 與 UTFUnicode
- Spring Boot 支援 JSP配置Spring BootJS
- Tomcat 配置支援不同的域名訪問各自不同程式的配置方法Tomcat
- 在catalyst中類方法後面有個屬性
- 04_重要系統配置檔案
- 介紹Nginx配置支援PHPNginxPHP
- JavaScript獲取給定字元的unicodeJavaScript字元Unicode
- 解碼返回Unicode編碼的文字Unicode
- 從 unicode 到位元組的轉換Unicode
- unicode和UTF-8的區別Unicode
- 網路配置審計比以往更重要
- Unicode編碼解碼Unicode
- JavaScript 字元 Unicode 表示法JavaScript字元Unicode
- 使用ofstream輸出unicodeUnicode
- Unicode編碼介紹Unicode
- Python convert string to unicode numberPythonUnicode
- unicode vs utf-8Unicode
- unicode轉碼工具類Unicode
- SpringBoot配置Profile多環境支援Spring Boot
- SpringBoot配置外部Tomcat並支援JSPSpring BootTomcatJS
- nginx配置支援websocket協議wssNginxWeb協議
- Unicode編碼解碼的全面介紹Unicode
- Unicode13正式釋出,更多的EmojiUnicode
- Spring Boot 2.4 對多環境配置的支援更改Spring Boot