Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,027

HOME > .NET Framework > Forum > จำนวนความยาวของ string ตอนเป็น UTF-8 ไม่เท่ากับตอนเป็น ANSI ครับ



 

จำนวนความยาวของ string ตอนเป็น UTF-8 ไม่เท่ากับตอนเป็น ANSI ครับ

 



Topic : 117929



โพสกระทู้ ( 213 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์




ผมทำ Web App ที่ต้อง Export ข้อมูลออกมาเพื่อนำไป Import เข้าโปรแกรม Win App อีกที

ที่นี้ข้อมูลที่ Export ออกมาต้องระบุตำแหน่งของ Field ด้วย ว่าอยู่ที่ตำแหน่งที่เท่าไร ซึ่งผมต้องนับความยาวของ String ของ Field นั้นๆ ด้วยคำสั่ง String.Length

ซึ่งใน Web App String เป็น UTF-8 ความกว้างของ String เมื่อเช็คดูแล้วที่ file ที่ Export ออกมา จะสั้นกว่า (ไฟล์ Export เป็น ANSI)

ตำแหน่ง Filed ในไฟล์ Export เลยรวนไปหมดครับ

พอจะมีวิธีนับความกว้างของ ANSI มั้ยครับ


อ่านคำถามแล้วอาจจะมึน พอดีวันนี้เป็นหวัดครับ ดูรูปประกอบดีกว่า

ansi

บรรทัดที่ 1 เป็นความกว้างของ string ทั้งหมดตอนเป็น UTF-8 นับได้ 1258 ตัวอักษร แต่ length ทั้งหมดของไฟล์จริงๆ คือ 2432 ครับ

บรรทัดที่ 5 ความกว้างของ string ตอนเป็น UTF-8 นับได้ 23 ตัวอักษร แต่ความกว้างตอนเป็น ANSI (บรรทัดที่ 22) คือ 56 ตัวอักษร

รบกวนขอความรู้ด้วยครับ

ขอบคุณมากครับ



Tag : .NET, Web (ASP.NET), C#







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2015-07-20 15:52:16 By : Aod47 View : 5412 Reply : 18
 

 

No. 1



โพสกระทู้ ( 4,434 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

แล้ว Winapp นี่อ่านได้เหมือนกันป่าวครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-20 16:38:35 By : lamaka.tor
 


 

No. 2



โพสกระทู้ ( 213 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


บรรทัดที่ 2 ถึง 18 จะบอกว่าเป็น field อะไร ขนาด field กว้างเท่าไหร่ และเริ่มที่ ตัวอักษรที่เท่าไร ครับ

จริงๆ แล้วข้อมูลมันเป็น text บรรทัดเดียวยาวต่อเนื่องกันไป ผมตัดมาให้ดูแบบง่ายๆ ครับ

พอความกว้างของ filed ผิด ทำให้ตำแหน่งเริ่มต้นของ field ผิดไปด้วยครับ

win app อ่านได้ครับ แต่ถ้าเจอตำแหน่งผิด มันจะขึ้น error ทันที

แต่มันโชว์นะครับว่า ไฟล์ที่อ่านเข้าไปมีข้อมูลอะไรบ้าง แต่ตำแหน่ง start ของแต่ละ field ผิด มันจะไม่ import ข้อมูลให้

ที่เห็นเป็นภาษาต่างดาว คือ ANSI นะครับ Win App มันไปแปลงเป็น UTF อีกทีหลัง import แล้ว
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-20 18:38:44 By : Aod47
 

 

No. 3



โพสกระทู้ ( 1,348 )
บทความ ( 1 )



สถานะออฟไลน์


Import Export เป็นคนเขียนเองทั้งสองขารึเปล่า
แค่สงสัยทำไมไม่ Save เป็น UTF-8 ไปเลย
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-20 19:19:44 By : watcharop
 


 

No. 4



โพสกระทู้ ( 213 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


Export เขียนเองครับ Export จาก Web App ซึ่งเขียนด้วย ASP.Net C#

Win App ซื้อมา เป็นระบบปิด ค่อนข้างจะ legacy แล้ว ตอนนี้ ใช้คู่ขนานกันอยู่

กะว่า Web App เสร็จทุก Module ก็จะเสนอผู้บริหาร ขอยกเลิกใช้ Win App

ทีนี้จะลดงาน copy ข้อมูลจาก Web App มาแปะที่ Win App

เห็นว่า Win App มี Import ข้อมูล ก็เลยลอง Import เข้า Win App ครับ

ที่ไม่ใช้ UTF-8 เพราะว่า ไฟล์ต้นแบบของ Win App มันเป็น ANSI ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-20 20:47:36 By : Aod47
 


 

No. 5



โพสกระทู้ ( 1,348 )
บทความ ( 1 )



สถานะออฟไลน์


แล้วจริงๆ ไอ้ตัวแปลกๆ มันคือภาษาไทยรึเปล่า
ถ้าใช่ ขอดูโค้ดส่วน Export หน่อย ถ้าไม่ใช่ความลับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-20 21:04:01 By : watcharop
 


 

No. 6



โพสกระทู้ ( 213 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


ผมเจอ code แปลงไฟล์ utf-8 เป็น ANSI จากที่นี่ครับ http://bytes.com/topic/c-sharp/answers/865205-how-convert-utf8-file-into-ansi

Code (C#)
    string filePath = "c:\\test.txt";
     
    // Reads UTF8 file
    StreamReader fileStream = new StreamReader(filePath);
    string fileContent = fileStream.ReadToEnd();
    fileStream.Close();
     
    // Now writes the content in ANSI
    StreamWriter ansiWriter = new StreamWriter(filePath.Replace(".txt", "-ansi.txt"), false, Encoding.GetEncoding(1250));
    ansiWriter.Write(fileContent);
    ansiWriter.Close();


ที่ผมอยากทำคือ แปลงชุด string ที่อ่านจาก db จาก Web App (ซึ่งตรงนี้ผมเข้าใจว่าเป็น utf-8) ให้เป็น ANSI ก่อน
แล้วนับความยาว string ANSI เพื่อไปกำหนดตัวเลขใน column 2 กับ 3 ของ บรรทัดที่ 2-18

จึงจะสามารถ Import ไฟล์นี้เข้าไปที่ Win App ได้อย่างถูกต้องครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-20 21:08:48 By : Aod47
 


 

No. 7



โพสกระทู้ ( 213 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


ตัวอักษรแปลกๆ เป็นภาษาไทยครับ

ส่วน code ผมดันลืม thumb backup งานไว้ที่ office พรุ่งนี้เช้าจะแปะให้ดูนะครับ

หลักใหญ่ก็คือ อ่านข้อมูลจาก db ออกมา แล้ว + string ต่อๆ กัน ตามรูปแบบของ Win App ครับ

อันนี้เป็นตัวอย่างไฟล์ export ที่ถูกต้องตามแบบ Win App ครับ

Code
01724nam a2200229 a 450000100070000000500170000700700030002400800410002702000180006803500210008605000290010710000580013624501490019425000470034326001120039030000530050249003750055565000590093065000540098971000750104383003760111854462720110404144600.0t 091224s 0 tha  a9789741529414 a(OCoLC)860794855 aTK5105.888b.ป458 25520 aประเวศน์ วงษ์คำชัย.10aหลักการออกแบบและพัฒนาเว็บไซต์ /cประเวศน์ วงษ์คำชัย. aพิมพ์ครั้งที่ 1. a[กรุงเทพฯ] :bมหาวิทยาลัยราชภัฏธนบุรี,c2552. a214 หน้า :bภาพประกอบ.1 aโครงการผลงานวิชาการมหาวิทยาลัยราชภัฎธนบุรีเฉลิมพระเกียรติเนื่องในวโรกาสพระบาทสมเด็จพระเจ้าอยู่หัวทรงครองสิริราชสมบัติครบ 60 ปี 4aเว็บไซต์xการออกแบบ. 4aการพัฒนาเว็บไซต์.2 aมหาวิทยาลัยราชภัฏธนบุรี. 0aโครงการผลงานวิชาการมหาวิทยาลัยราชภัฎธนบุรีเฉลิมพระเกียรติเนื่องในวโรกาสพระบาทสมเด็จพระเจ้าอยู่หัวทรงครองสิริราชสมบัติครบ 60 ปี.

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-20 21:21:49 By : Aod47
 


 

No. 8



โพสกระทู้ ( 1,348 )
บทความ ( 1 )



สถานะออฟไลน์


ถ้าตัวแปลกๆ นั่นคือภาษาไทย ให้เลือก Encoding 874

Code (VB.NET)
...
dim dread as SqlDataReader = cmd.ExecuteReader()
...

StreamWriter ansiWriter = new StreamWriter("test.txt", false, Encoding.GetEncoding(874))

dim sb as new System.Text.StringBuilder

Do While dread.read()
   sb.Clear()
   ...
   sb.AppendFormat("{0}{1}",dread("x1"),dread("x2"))
   ...
   ansiWriter.WriteLine(sb.ToString())
End While

ansiWriter.Close();

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-20 21:24:26 By : watcharop
 


 

No. 9



โพสกระทู้ ( 1,348 )
บทความ ( 1 )



สถานะออฟไลน์


กรณีที่ไฟล์คุณเป็น ANSI และเนื้อหาในไฟล์เป็น ภาษาไทย
ต้องเปลี่ยน Language for non-Unicode programs เป็น Thai ด้วย

ถ้าไม่รู้วิธีเปลี่ยน ก็ใช้ google ค้นเลยครับ เมื่อกี้ลองค้นแล้ว ก็เจอวิธีเปลี่ยน
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-20 21:28:15 By : watcharop
 


 

No. 10



โพสกระทู้ ( 213 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


code มาแล้วครับ พร้อม อัพเดทรูปใหม่

Code (C#)
protected void ExportButton_Click(object sender, DirectEventArgs e)
        {
            string filename = "K" + Utils.Right(("0000000" + bibId),7) + ".txt";

            StringBuilder marc = new StringBuilder();
            marc.Append(GetVarField(bibId));
            
            //Download the Text file.
            Response.Clear();
            Response.AddHeader("content-disposition", "attachment;filename=" +  filename);
            Response.Charset = "";
            Response.ContentType = "application/vnd.text";
            //Response.ContentEncoding = System.Text.Encoding.Unicode;
            Response.Cache.SetCacheability(HttpCacheability.NoCache);
            System.IO.StringWriter stringWrite = new System.IO.StringWriter();
            System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
            Response.Write(marc.ToString());
            Response.End();
        }        

        private string GetVarField(string bibId)
        {            
            char cRS = (char)30; // [RS] field terminator
            char cUS = (char)31; // [US] delimiter
            char cGS = (char)29; // [GS] record terminator 
            
            string marc = string.Empty;
            string directory = string.Empty;
            string varfield = string.Empty;

            { // get Variable Fields Value

                int tagStart = 0; // tag 001.Length + tag 003.Length              

                string queryString = "SELECT * FROM [BibTag_V] WHERE unUsed=0 AND bibId=" + bibId + " ORDER BY tag, tagId";
                string connectionString = strConn;
                using (SqlConnection connection = new SqlConnection(connectionString))
                {
                    SqlCommand command = new SqlCommand(queryString, connection);
                    command.Connection.Open();
                    command.ExecuteNonQuery();

                    SqlDataReader dt;
                    dt = command.ExecuteReader();

                    while (dt.Read())
                    {
                        string tag = dt["tag"].ToString();
                        string tagId = dt["tagId"].ToString();
                        bool isFullstop = bool.Parse(dt["isFullstop"].ToString());
                        string tagString = string.Empty;
                        directory += tag;

                        /* loop Subfield Value */                        
                        string querySf = "SELECT * FROM [BibSubfield_V] WHERE tagId=" + tagId + " ORDER BY tag, tagId, sorder";
                        using (SqlConnection conSf = new SqlConnection(connectionString))
                        {
                            SqlCommand commandSf = new SqlCommand(querySf, conSf);
                            commandSf.Connection.Open();
                            commandSf.ExecuteNonQuery();

                            SqlDataReader dtSf;
                            dtSf = commandSf.ExecuteReader();

                            while (dtSf.Read())
                            {
                                string sCode = dtSf["scode"].ToString();
                                string sValue = dtSf["svalue"].ToString();
                                string sPrefix = dtSf["prefixSymbol"].ToString();
                                string sOrder = dtSf["sorder"].ToString();
                                if (tag != "008")
                                {
                                    if (sOrder == "1")
                                    {   // add only cUS
                                        varfield += cUS;
                                        tagString += cUS;
                                    }
                                    else
                                    {   // add prefix & cUS
                                        if (!string.IsNullOrEmpty(sPrefix))
                                        {
                                            varfield += sPrefix + " ";
                                            tagString += sPrefix + " ";
                                        }                                        
                                        varfield += cUS;
                                        tagString += cUS;
                                    }                                
                                    varfield += sCode;
                                    tagString += sCode;
                                }                                
                                varfield += sValue;                                
                                tagString += sValue;
                            }

                            { // check last fullstop 
                                string ft = Utils.Right(tagString, 1);
                                if (ft != ".")
                                {
                                    if (isFullstop) 
                                    {
                                        varfield += ".";
                                        tagString += ".";                                     
                                    }
                                }                            
                            }

                            varfield += cRS;
                            tagString += cRS;
                            directory += Utils.Right("0000" + tagString.Length.ToString(), 4); // calculate length of field                            
                            directory += Utils.Right("00000" + tagStart.ToString(), 5); // calculate starting_chr_position
                            tagStart += int.Parse(tagString.Length.ToString());
                            tagString = string.Empty; // clear tagString to inital value
                            dtSf.Close();
                            dtSf = null;
                        } 
                                               

                    }
                    dt.Close();
                    dt = null;
                }

            }

            /* get Leader */
            int i0004 = 24 + int.Parse(directory.Length.ToString()) + 1 +int.Parse(varfield.Length.ToString()) + 1;
            // leader.l + directory.l + [RS] + varfield.l + [GS]
            string l0004 = Utils.Right("00000" + i0004.ToString(), 5);
            string l05 = "n";  // n == new
            string l06 = GetTypeOfRecord(bibId);
            string l07 = GetBibLevel(bibId);
            string l0811 = " a22"; // fixed value
            int i1216 = 24 + int.Parse(directory.Length.ToString()) + 1; 
            // leader.Length + directory.Length + [RS] 
            string l1216 = Utils.Right("00000" + i1216.ToString() , 5);
            string l1719 = " a "; // fixed value
            string l2023 = "4500"; // fixed value
            string leader = l0004 + l05 + l06 + l07 + l0811 + l1216 + l1719 + l2023;

            marc = leader + directory + cRS + varfield + cGS;
            return marc;

        }


char2

ประเด็นปัญหาของผมไม่ได้อยู่ที่ไฟล์ที่ export ออกมาครับ มัน import ไปเข้า Win App ได้

ประเด็นอยู่ที่ Win App มันจะแจ้ง error ว่า ตำแหน่ง field ที่ระบุไม่ถูกต้อง

ซึ่งเป็นผลมาจากตอนที่วนลูปเพื่อเอาข้อมูลมาต่อๆ กันเป็นไฟล์เดียว

ผมคำนวณตำแหน่งความยาวของแต่ละ field โดยใช้คำสั่ง int.Parse(tagString.Length.ToString());

ซึ่งผมเข้าใจว่า string ในตอนที่วนลูป เป็น utf-8 และความยาวของ string น้อยกว่าตอนที่ export เป็นไฟล์แล้ว ซึ่งเป็น ANSI

ตรงนี้งงมากครับว่าทำไมมันถึงยาวไม่เท่ากัน

ผมคิดว่าวิธีแก้ปัญหาคือ ต้องแปลง string ตัว utf-8 ให้เป็น ANSI ก่อน จึงจะหาความยาวของ string ที่ถูกต้อง

เพื่อระบุกลับไปที่ ส่วน directory ได้ครับ (ส่วนที่ตีกรอบสีไว้ สีแดงคือ field สีเขียว ความกว้าง field และสีน้ำเงินคือ บอกว่าข้อมูลของ field นี้อยู่ที่ character ที่เท่าไหร่ของไฟล์นี้ ครับ)

จากภาพนะครับ field 008, 020, 082 ซึ่งมี char เป็นตัวเลขและภาษาอังกฤษ ความกว้าง filed ถูกต้องตรงกันทั้ง utf-8 และ ANSI
แต่ field หลังจากนั้นข้อมูลเป็นภาษาไทย เช่น filed 100 ตอนคำนวณในโปรแกรม มันกว้างแค่ 23 ตัวอักษร แต่พอมาเปิดดูในไฟล์ ANSI กับกว้างถึง 55 ตัวอักษร (56-1)

ตรงนี้ละครับ ปัญหาของผม


ประวัติการแก้ไข
2015-07-21 07:46:48
2015-07-21 07:50:05
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-21 07:40:31 By : Aod47
 


 

No. 11



โพสกระทู้ ( 4,434 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

โทษทีนะครับ
ลอง replace("","/") แต่ละแถวดูได้ไม๊ครับ
ถ้าเรารู้ระยะห่างของช่องว่างแต่ละแถวน่าจะแก้ไขได้ง่ายขึ้นครับ

ปกติผมใช้โค๊ดนี้ยุครับไม่มีปัญหา(สำหรับงานผม) ลองเอาไปเล่นๆดูครับ
Code (C#)
public static System.Collections.Generic.List<string> textFileReaderFormline(string pathFileName)
        {

            System.Collections.Generic.List<string> list = new System.Collections.Generic.List<string>();
            System.IO.StreamReader fs;
            fs = new System.IO.StreamReader(pathFileName, System.Text.Encoding.GetEncoding(874));

            string line;
            while ((line = fs.ReadLine()) != null)
            {
                list.Add(line);
            }
            return list;

        }

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-21 08:37:42 By : lamaka.tor
 


 

No. 12



โพสกระทู้ ( 1,348 )
บทความ ( 1 )



สถานะออฟไลน์


ไม่รู้ว่าช่วยอะไรได้หรือเปล่า
แต่โค้ดนี้ จะสร้าง TextFile ขนาด 10 bytes

Code (VB.NET)
    Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
        Dim sLine As String = "ข้าวมันไก่"
        Response.Clear()
        Response.ContentEncoding = Encoding.GetEncoding(874)
        Response.AddHeader("content-disposition", "attachment;filename=test.txt")
        Response.ContentType = "application/vnd.text"
        Response.Write(sLine)
        Response.End()
    End Sub

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-21 08:48:50 By : watcharop
 


 

No. 13



โพสกระทู้ ( 1,348 )
บทความ ( 1 )



สถานะออฟไลน์


AnsiTextFile


ประวัติการแก้ไข
2015-07-21 08:52:48
2015-07-21 08:53:47
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-21 08:51:51 By : watcharop
 


 

No. 14



โพสกระทู้ ( 213 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


ขอบคุณครับ ทั้งสองท่าน

ตอนนี้ผมละมึนตึ๊บ คิดว่าน่าจะเป็นที่ภาษาไทย กับ ANSI ครับ

เพราะลองกับไฟล์ที่เป็นภาษาอังกฤษล้วน ทีเดียวผ่านเลย ข้อมูลมาครบหมดไม่ตกหล่น

ขอลองวิธี byte count ก่อนนะครับ ได้ผลยังไงจะมาบอกอีกที


ประวัติการแก้ไข
2015-07-21 09:07:52
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-21 09:03:50 By : Aod47
 


 

No. 15



โพสกระทู้ ( 4,434 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

ตอบความคิดเห็นที่ : 14 เขียนโดย : Aod47 เมื่อวันที่ 2015-07-21 09:03:50
รายละเอียดของการตอบ ::
ลองโค๊ดผมยังครับ นำเน๋อๆๆๆ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-21 09:15:57 By : lamaka.tor
 


 

No. 16



โพสกระทู้ ( 213 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


ไม่ได้ลองครับผม พอดีได้ประกายเรื่อง byte count จากคุณหางอึ่งครับ

แล้วก็เป็นอย่างนั้นจริงๆ ครับ พอใช้ byte count ทีเดียวผ่านเลยครับ ภาษาไทย

code ที่ต้องนับจำนวนตัวอักษรผมเปลี่ยนมาเป็น

Code (C#)
int tagStringLen = Encoding.UTF8.GetByteCount(tagString);
int directoryLen = Encoding.UTF8.GetByteCount(directory);
int varfieldLen = Encoding.UTF8.GetByteCount(varfield);


จะได้ความยาวเป็น byte ออกมา

ขอบคุณมากครับทั้งสองท่าน
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-21 09:44:55 By : Aod47
 


 

No. 17



โพสกระทู้ ( 4,434 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook


ยินดีด้วยครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-21 09:57:45 By : lamaka.tor
 


 

No. 18



โพสกระทู้ ( 280 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 12 เขียนโดย : watcharop เมื่อวันที่ 2015-07-21 08:48:50
รายละเอียดของการตอบ ::
ขอบคุณมากค่ะ มาหามาตั้งนาน ใช้ได้ผลจริงๆ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-11-10 13:50:19 By : N
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : จำนวนความยาวของ string ตอนเป็น UTF-8 ไม่เท่ากับตอนเป็น ANSI ครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 04
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่